Created
January 27, 2023 15:54
-
-
Save iii-i/8e20100c33ab6f0dffb5e6e51d1330e8 to your computer and use it in GitHub Desktop.
Re: [PATCH bpf-next 00/24] Support bpf trampoline for s390x
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- BEGIN PROG LOAD LOG -- | |
0: R1=ctx(off=0,imm=0) R10=fp0 | |
; int syncookie_xdp(struct xdp_md *ctx) | |
0: (bf) r6 = r1 ; R1=ctx(off=0,imm=0) R6_w=ctx(off=0,imm=0) | |
1: (b4) w9 = 1 ; R9_w=1 | |
; void *data_end = (void *)(long)ctx->data_end; | |
2: (61) r1 = *(u32 *)(r6 +4) ; R1_w=pkt_end(off=0,imm=0) R6_w=ctx(off=0,imm=0) | |
; void *data = (void *)(long)ctx->data; | |
3: (61) r7 = *(u32 *)(r6 +0) ; R6_w=ctx(off=0,imm=0) R7_w=pkt(off=0,r=0,imm=0) | |
; if (hdr->eth + 1 > data_end) | |
4: (bf) r2 = r7 ; R2_w=pkt(off=0,r=0,imm=0) R7_w=pkt(off=0,r=0,imm=0) | |
5: (07) r2 += 14 ; R2_w=pkt(off=14,r=0,imm=0) | |
; if (hdr->eth + 1 > data_end) | |
6: (2d) if r2 > r1 goto pc+166 ; R1_w=pkt_end(off=0,imm=0) R2_w=pkt(off=14,r=14,imm=0) | |
; switch (bpf_ntohs(hdr->eth->h_proto)) { | |
7: (69) r3 = *(u16 *)(r7 +12) ; R3_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R7_w=pkt(off=0,r=14,imm=0) | |
; switch (bpf_ntohs(hdr->eth->h_proto)) { | |
8: (16) if w3 == 0x86dd goto pc+22 ; R3_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
9: (b4) w9 = 2 ; R9=2 | |
10: (56) if w3 != 0x800 goto pc+162 ; R3=2048 | |
; if (hdr->ipv4 + 1 > data_end) | |
11: (07) r7 += 34 ; R7_w=pkt(off=34,r=14,imm=0) | |
12: (b4) w9 = 1 ; R9_w=1 | |
; if (hdr->ipv4 + 1 > data_end) | |
13: (2d) if r7 > r1 goto pc+159 ; R1=pkt_end(off=0,imm=0) R7_w=pkt(off=34,r=34,imm=0) | |
; if (hdr->ipv4->ihl * 4 < sizeof(*hdr->ipv4)) | |
14: (71) r3 = *(u8 *)(r2 +0) ; R2=pkt(off=14,r=34,imm=0) R3_w=scalar(umax=255,var_off=(0x0; 0xff)) | |
; if (hdr->ipv4->ihl * 4 < sizeof(*hdr->ipv4)) | |
15: (54) w3 &= 15 ; R3_w=scalar(umax=15,var_off=(0x0; 0xf)) | |
; if (hdr->ipv4->ihl * 4 < sizeof(*hdr->ipv4)) | |
16: (a6) if w3 < 0x5 goto pc+156 ; R3_w=scalar(umin=5,umax=15,var_off=(0x0; 0xf)) | |
; if (hdr->ipv4->version != 4) | |
17: (71) r3 = *(u8 *)(r2 +0) ; R2=pkt(off=14,r=34,imm=0) R3_w=scalar(umax=255,var_off=(0x0; 0xff)) | |
; if (hdr->ipv4->version != 4) | |
18: (54) w3 &= 240 ; R3=scalar(umax=240,var_off=(0x0; 0xf0)) | |
; if (hdr->ipv4->version != 4) | |
19: (56) if w3 != 0x40 goto pc+153 ; R3=64 | |
; if (hdr->ipv4->protocol != IPPROTO_TCP) | |
20: (71) r3 = *(u8 *)(r2 +9) ; R2=pkt(off=14,r=34,imm=0) R3_w=scalar(umax=255,var_off=(0x0; 0xff)) | |
21: (b4) w9 = 2 ; R9_w=2 | |
; if (hdr->ipv4->protocol != IPPROTO_TCP) | |
22: (56) if w3 != 0x6 goto pc+150 ; R3_w=6 | |
; hdr->tcp = (void *)hdr->ipv4 + hdr->ipv4->ihl * 4; | |
23: (71) r3 = *(u8 *)(r2 +0) ; R2=pkt(off=14,r=34,imm=0) R3_w=scalar(umax=255,var_off=(0x0; 0xff)) | |
; hdr->tcp = (void *)hdr->ipv4 + hdr->ipv4->ihl * 4; | |
24: (64) w3 <<= 2 ; R3_w=scalar(umax=1020,var_off=(0x0; 0x3fc)) | |
25: (57) r3 &= 60 ; R3_w=scalar(umax=60,var_off=(0x0; 0x3c)) | |
; hdr->tcp = (void *)hdr->ipv4 + hdr->ipv4->ihl * 4; | |
26: (bf) r7 = r2 ; R2=pkt(off=14,r=34,imm=0) R7_w=pkt(off=14,r=34,imm=0) | |
27: (0f) r7 += r3 ; R3_w=scalar(umax=60,var_off=(0x0; 0x3c)) R7_w=pkt(id=1,off=14,r=0,umax=60,var_off=(0x0; 0x3c)) | |
28: (b7) r5 = 0 ; R5_w=0 | |
29: (bf) r8 = r2 ; R2=pkt(off=14,r=34,imm=0) R8_w=pkt(off=14,r=34,imm=0) | |
30: (05) goto pc+10 | |
; if (hdr->tcp + 1 > data_end) | |
41: (bf) r2 = r7 ; R2_w=pkt(id=1,off=14,r=0,umax=60,var_off=(0x0; 0x3c)) R7=pkt(id=1,off=14,r=0,umax=60,var_off=(0x0; 0x3c)) | |
42: (07) r2 += 20 ; R2_w=pkt(id=1,off=34,r=0,umax=60,var_off=(0x0; 0x3c)) | |
43: (b4) w9 = 1 ; R9_w=1 | |
; if (hdr->tcp + 1 > data_end) | |
44: (2d) if r2 > r1 goto pc+128 ; R1=pkt_end(off=0,imm=0) R2_w=pkt(id=1,off=34,r=34,umax=60,var_off=(0x0; 0x3c)) | |
; hdr->tcp_len = hdr->tcp->doff * 4; | |
45: (69) r2 = *(u16 *)(r7 +12) ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R7=pkt(id=1,off=14,r=34,umax=60,var_off=(0x0; 0x3c)) | |
; | |
46: (a6) if w2 < 0x5000 goto pc+126 ; R2_w=scalar(umin=20480,umax=65535,var_off=(0x0; 0xffff)) | |
47: (b4) w1 = 100663296 ; R1_w=100663296 | |
; struct bpf_ct_opts___local ct_lookup_opts = { | |
48: (63) *(u32 *)(r10 -56) = r1 ; R1_w=100663296 R10=fp0 fp-56_w=100663296 | |
49: (18) r1 = 0xffffffff00000000 ; R1_w=-4294967296 | |
51: (7b) *(u64 *)(r10 -64) = r1 ; R1_w=-4294967296 R10=fp0 fp-64_w=-4294967296 | |
52: (b4) w9 = 0 ; R9_w=0 | |
; struct bpf_sock_tuple tup = {}; | |
53: (63) *(u32 *)(r10 -8) = r9 ; R9_w=0 R10=fp0 fp-8=????0000 | |
54: (b7) r1 = 0 ; R1_w=0 | |
55: (7b) *(u64 *)(r10 -16) = r1 ; R1_w=0 R10=fp0 fp-16_w=00000000 | |
56: (7b) *(u64 *)(r10 -24) = r1 ; R1_w=0 R10=fp0 fp-24_w=00000000 | |
57: (7b) *(u64 *)(r10 -32) = r1 ; R1_w=0 R10=fp0 fp-32_w=00000000 | |
58: (7b) *(u64 *)(r10 -40) = r1 ; R1=0 R10=fp0 fp-40=00000000 | |
; if (hdr->ipv4) { | |
59: (15) if r8 == 0x0 goto pc+18 ; R8=pkt(off=14,r=34,imm=0) | |
60: (b4) w9 = 1 ; R9_w=1 | |
; if ((hdr->ipv4->frag_off & bpf_htons(IP_DF | IP_MF | IP_OFFSET)) != bpf_htons(IP_DF)) | |
61: (69) r1 = *(u16 *)(r8 +6) ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R8=pkt(off=14,r=34,imm=0) | |
; if ((hdr->ipv4->frag_off & bpf_htons(IP_DF | IP_MF | IP_OFFSET)) != bpf_htons(IP_DF)) | |
62: (54) w1 &= 32767 ; R1_w=scalar(umax=32767,var_off=(0x0; 0x7fff)) | |
; if ((hdr->ipv4->frag_off & bpf_htons(IP_DF | IP_MF | IP_OFFSET)) != bpf_htons(IP_DF)) | |
63: (56) if w1 != 0x4000 goto pc+109 ; R1_w=16384 | |
64: (63) *(u32 *)(r10 -80) = r2 ; R2=scalar(umin=20480,umax=65535,var_off=(0x0; 0xffff)) R10=fp0 fp-80= | |
65: (7b) *(u64 *)(r10 -72) = r5 ; R5=0 R10=fp0 fp-72_w=00000000 | |
66: (bf) r1 = r10 ; R1_w=fp0 R10=fp0 | |
; tup.ipv4.saddr = hdr->ipv4->saddr; | |
67: (07) r1 += -40 ; R1_w=fp-40 | |
68: (61) r2 = *(u32 *)(r8 +12) ; R2_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) R8=pkt(off=14,r=34,imm=0) | |
; tup.ipv4.saddr = hdr->ipv4->saddr; | |
69: (63) *(u32 *)(r1 +0) = r2 ; R1_w=fp-40 R2_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) fp-40_w= | |
; tup.ipv4.daddr = hdr->ipv4->daddr; | |
70: (61) r2 = *(u32 *)(r8 +16) ; R2_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) R8=pkt(off=14,r=34,imm=0) | |
; tup.ipv4.daddr = hdr->ipv4->daddr; | |
71: (63) *(u32 *)(r1 +4) = r2 ; R1_w=fp-40 R2_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) fp-40_w=mmmmmmmm | |
; tup.ipv4.sport = hdr->tcp->source; | |
72: (69) r2 = *(u16 *)(r7 +0) ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R7=pkt(id=1,off=14,r=34,umax=60,var_off=(0x0; 0x3c)) | |
; tup.ipv4.sport = hdr->tcp->source; | |
73: (6b) *(u16 *)(r1 +8) = r2 ; R1_w=fp-40 R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) fp-32_w= | |
; tup.ipv4.dport = hdr->tcp->dest; | |
74: (69) r2 = *(u16 *)(r7 +2) ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R7=pkt(id=1,off=14,r=34,umax=60,var_off=(0x0; 0x3c)) | |
; tup.ipv4.dport = hdr->tcp->dest; | |
75: (6b) *(u16 *)(r1 +10) = r2 ; R1_w=fp-40 R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) fp-32_w=mmmmmmmm | |
76: (b4) w3 = 12 ; R3_w=12 | |
77: (05) goto pc+38 | |
; tup.ipv6.dport = hdr->tcp->dest; | |
116: (bf) r2 = r10 ; R2_w=fp0 R10=fp0 | |
; | |
117: (07) r2 += -40 ; R2_w=fp-40 | |
118: (bf) r4 = r10 ; R4_w=fp0 R10=fp0 | |
119: (07) r4 += -64 ; R4_w=fp-64 | |
; ct = bpf_xdp_ct_lookup(ctx, &tup, tup_size, &ct_lookup_opts, sizeof(ct_lookup_opts)); | |
120: (bf) r1 = r6 ; R1_w=ctx(off=0,imm=0) R6=ctx(off=0,imm=0) | |
121: (b4) w5 = 12 ; R5_w=12 | |
122: (85) call bpf_xdp_ct_lookup#50470 | |
; if (ct) { | |
123: (15) if r0 == 0x0 goto pc+42 ; R0_w=ptr_nf_conn(ref_obj_id=3,off=0,imm=0) refs=3 | |
; unsigned long status = ct->status; | |
124: (79) r1 = *(u64 *)(r0 +200) ; R0_w=ptr_nf_conn(ref_obj_id=3,off=0,imm=0) R1_w=scalar() refs=3 | |
; bpf_ct_release(ct); | |
125: (7b) *(u64 *)(r10 -88) = r1 ; R1_w=scalar() R10=fp0 fp-88_w=mmmmmmmm refs=3 | |
126: (bf) r1 = r0 ; R0_w=ptr_nf_conn(ref_obj_id=3,off=0,imm=0) R1_w=ptr_nf_conn(ref_obj_id=3,off=0,imm=0) refs=3 | |
127: (85) call bpf_ct_release#50462 | |
128: (b4) w9 = 2 ; R9_w=2 | |
129: (79) r1 = *(u64 *)(r10 -88) ; R1_w=scalar() R10=fp0 | |
; if (status & IPS_CONFIRMED_BIT) | |
130: (57) r1 &= 3 ; R1_w=scalar(umax=3,var_off=(0x0; 0x3)) | |
131: (79) r3 = *(u64 *)(r10 -72) ; R3_w=P0 R10=fp0 | |
132: (61) r2 = *(u32 *)(r10 -80) ; R2_w=scalar(umin=20480,umax=65535,var_off=(0x0; 0xffff)) R10=fp0 | |
133: (15) if r1 == 0x0 goto pc+1 135: R1=0 R2=scalar(umin=20480,umax=65535,var_off=(0x0; 0xffff)) R3=0 R6=ctx(off=0,imm=0) R7=pkt(id=1,off=14,r=34,umax=60,var_off=(0x0; 0x3c)) R8=pkt(off=14,r=34,imm=0) R9=2 R10=fp0 fp-8=????0000 fp-16=00000000 fp-24=00000000 fp-32=mmmmmmmm fp-40=mmmmmmmm fp-56=????mmmm fp-64=mmmmmmmm fp-72=00000000 fp-80= fp-88=mmmmmmmm | |
; if ((hdr->tcp->syn ^ hdr->tcp->ack) != 1) | |
135: (69) r1 = *(u16 *)(r7 +12) ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R7=pkt(id=1,off=14,r=34,umax=60,var_off=(0x0; 0x3c)) | |
136: (74) w1 >>= 1 ; R1_w=scalar(umax=32767,var_off=(0x0; 0x7fff)) | |
; if ((hdr->tcp->syn ^ hdr->tcp->ack) != 1) | |
137: (69) r4 = *(u16 *)(r7 +12) ; R4_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R7=pkt(id=1,off=14,r=34,umax=60,var_off=(0x0; 0x3c)) | |
138: (74) w4 >>= 4 ; R4_w=scalar(umax=4095,var_off=(0x0; 0xfff)) | |
; if ((hdr->tcp->syn ^ hdr->tcp->ack) != 1) | |
139: (ac) w4 ^= w1 ; R1_w=scalar(umax=32767,var_off=(0x0; 0x7fff)) R4_w=scalar() | |
140: (54) w4 &= 1 ; R4_w=scalar(umax=1,var_off=(0x0; 0x1)) | |
141: (b4) w9 = 1 ; R9_w=1 | |
; if ((hdr->tcp->syn ^ hdr->tcp->ack) != 1) | |
142: (16) if w4 == 0x0 goto pc+30 ; R4_w=scalar(umax=1,var_off=(0x0; 0x1)) | |
; | |
143: (74) w2 >>= 10 ; R2_w=scalar(umin=20,umax=63,var_off=(0x0; 0x3f)) | |
; if (bpf_xdp_adjust_tail(ctx, TCP_MAXLEN - hdr->tcp_len)) | |
144: (a4) w2 ^= -1 ; R2_w=scalar(umin=4294967232,umax=4294967295,var_off=(0xffffffc0; 0x3f),s32_min=-64,s32_max=-1) | |
145: (54) w2 &= 60 ; R2_w=scalar(umax=60,var_off=(0x0; 0x3c)) | |
; if (bpf_xdp_adjust_tail(ctx, TCP_MAXLEN - hdr->tcp_len)) | |
146: (bf) r1 = r6 ; R1_w=ctx(off=0,imm=0) R6=ctx(off=0,imm=0) | |
147: (bf) r7 = r3 ; R3=0 R7_w=0 | |
148: (85) call bpf_xdp_adjust_tail#65 ; R0=scalar() | |
149: (bf) r2 = r7 ; R2_w=0 R7=0 | |
150: (b4) w9 = 0 ; R9_w=0 | |
; if (bpf_xdp_adjust_tail(ctx, TCP_MAXLEN - hdr->tcp_len)) | |
151: (55) if r0 != 0x0 goto pc+21 ; R0=0 | |
; data = (void *)(long)ctx->data; | |
152: (61) r3 = *(u32 *)(r6 +0) ; R3_w=pkt(off=0,r=0,imm=0) R6=ctx(off=0,imm=0) | |
; data_end = (void *)(long)ctx->data_end; | |
153: (61) r4 = *(u32 *)(r6 +4) ; R4_w=pkt_end(off=0,imm=0) R6=ctx(off=0,imm=0) | |
; if (hdr->ipv4) { | |
154: (15) if r8 == 0x0 goto pc+20 ; R8=scalar() | |
; if ((void *)hdr->ipv4 + IPV4_MAXLEN > data_end) | |
155: (bf) r1 = r3 ; R1_w=pkt(off=0,r=0,imm=0) R3_w=pkt(off=0,r=0,imm=0) | |
156: (07) r1 += 74 ; R1=pkt(off=74,r=0,imm=0) | |
; if ((void *)hdr->ipv4 + IPV4_MAXLEN > data_end) | |
157: (2d) if r1 > r4 goto pc+15 ; R1=pkt(off=74,r=74,imm=0) R4=pkt_end(off=0,imm=0) | |
; hdr->ipv4 = (void *)hdr->eth + sizeof(*hdr->eth); | |
158: (bf) r5 = r3 ; R3=pkt(off=0,r=74,imm=0) R5_w=pkt(off=0,r=74,imm=0) | |
159: (07) r5 += 14 ; R5_w=pkt(off=14,r=74,imm=0) | |
; hdr->tcp = (void *)hdr->ipv4 + hdr->ipv4->ihl * 4; | |
160: (71) r1 = *(u8 *)(r5 +0) ; R1_w=scalar(umax=255,var_off=(0x0; 0xff)) R5_w=pkt(off=14,r=74,imm=0) | |
; hdr->tcp = (void *)hdr->ipv4 + hdr->ipv4->ihl * 4; | |
161: (64) w1 <<= 2 ; R1_w=scalar(umax=1020,var_off=(0x0; 0x3fc)) | |
162: (57) r1 &= 60 ; R1_w=scalar(umax=60,var_off=(0x0; 0x3c)) | |
; hdr->tcp = (void *)hdr->ipv4 + hdr->ipv4->ihl * 4; | |
163: (bf) r8 = r5 ; R5_w=pkt(off=14,r=74,imm=0) R8_w=pkt(off=14,r=74,imm=0) | |
164: (0f) r8 += r1 ; R1_w=scalar(umax=60,var_off=(0x0; 0x3c)) R8_w=pkt(id=5,off=14,r=0,umax=60,var_off=(0x0; 0x3c)) | |
165: (05) goto pc+15 | |
; if ((void *)hdr->tcp + TCP_MAXLEN > data_end) | |
181: (bf) r1 = r8 ; R1_w=pkt(id=5,off=14,r=0,umax=60,var_off=(0x0; 0x3c)) R8=pkt(id=5,off=14,r=0,umax=60,var_off=(0x0; 0x3c)) | |
182: (07) r1 += 60 ; R1_w=pkt(id=5,off=74,r=0,umax=60,var_off=(0x0; 0x3c)) | |
; if ((void *)hdr->tcp + TCP_MAXLEN > data_end) | |
183: (2d) if r1 > r4 goto pc-11 ; R1_w=pkt(id=5,off=74,r=74,umax=60,var_off=(0x0; 0x3c)) R4=pkt_end(off=0,imm=0) | |
; hdr->tcp_len = hdr->tcp->doff * 4; | |
184: (69) r1 = *(u16 *)(r8 +12) ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R8=pkt(id=5,off=14,r=74,umax=60,var_off=(0x0; 0x3c)) | |
185: (bf) r7 = r1 ; R1_w=scalar(id=6,umax=65535,var_off=(0x0; 0xffff)) R7_w=scalar(id=6,umax=65535,var_off=(0x0; 0xffff)) | |
; if (hdr->tcp_len < sizeof(*hdr->tcp)) | |
186: (a6) if w1 < 0x5000 goto pc-14 ; R1_w=scalar(id=6,umin=20480,umax=65535,var_off=(0x0; 0xffff)) | |
187: (7b) *(u64 *)(r10 -80) = r5 ; R5=pkt(off=14,r=74,imm=0) R10=fp0 fp-80_w=pkt | |
188: (7b) *(u64 *)(r10 -88) = r4 ; R4=pkt_end(off=0,imm=0) R10=fp0 fp-88_w=pkt_end | |
189: (7b) *(u64 *)(r10 -96) = r3 ; R3=pkt(off=0,r=74,imm=0) R10=fp0 fp-96_w=pkt | |
190: (7b) *(u64 *)(r10 -72) = r2 ; R2=0 R10=fp0 fp-72_w=00000000 | |
; return hdr->tcp->syn ? syncookie_handle_syn(hdr, ctx, data, data_end, xdp) : | |
191: (69) r1 = *(u16 *)(r8 +12) ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R8=pkt(id=5,off=14,r=74,umax=60,var_off=(0x0; 0x3c)) | |
; return hdr->tcp->syn ? syncookie_handle_syn(hdr, ctx, data, data_end, xdp) : | |
192: (54) w1 &= 2 ; R1=scalar(umax=2,var_off=(0x0; 0x2)) | |
193: (16) if w1 == 0x0 goto pc+94 ; R1=scalar(umax=2,var_off=(0x0; 0x2)) | |
194: (b7) r1 = 0 ; R1_w=0 | |
; __be32 * volatile tsopt = NULL; | |
195: (7b) *(u64 *)(r10 -64) = r1 ; R1_w=0 R10=fp0 fp-64_w=00000000 | |
; __be32 tsopt_buf[2] = {}; | |
196: (7b) *(u64 *)(r10 -48) = r1 ; R1_w=0 R10=fp0 fp-48_w=00000000 | |
; if (hdr->tcp->fin || hdr->tcp->rst) | |
197: (69) r1 = *(u16 *)(r8 +12) ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R8=pkt(id=5,off=14,r=74,umax=60,var_off=(0x0; 0x3c)) | |
; if (hdr->tcp->fin || hdr->tcp->rst) | |
198: (54) w1 &= 1 ; R1_w=scalar(umax=1,var_off=(0x0; 0x1)) | |
199: (b4) w9 = 1 ; R9_w=1 | |
; if (hdr->tcp->fin || hdr->tcp->rst) | |
200: (56) if w1 != 0x0 goto pc-28 ; R1_w=0 | |
; if (hdr->tcp->fin || hdr->tcp->rst) | |
201: (69) r1 = *(u16 *)(r8 +12) ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R8=pkt(id=5,off=14,r=74,umax=60,var_off=(0x0; 0x3c)) | |
; if (hdr->tcp->fin || hdr->tcp->rst) | |
202: (54) w1 &= 4 ; R1=scalar(umax=4,var_off=(0x0; 0x4)) | |
; if (hdr->tcp->fin || hdr->tcp->rst) | |
203: (56) if w1 != 0x0 goto pc-31 ; R1=0 | |
; if (!check_port_allowed(bpf_ntohs(hdr->tcp->dest))) | |
204: (69) r1 = *(u16 *)(r8 +2) ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R8=pkt(id=5,off=14,r=74,umax=60,var_off=(0x0; 0x3c)) | |
205: (63) *(u32 *)(r10 -104) = r1 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R10=fp0 fp-104_w= | |
206: (b4) w1 = 0 ; R1_w=0 | |
; __u32 key = i; | |
207: (63) *(u32 *)(r10 -40) = r1 ; R1_w=0 R10=fp0 fp-40=mmmm0000 | |
208: (bf) r2 = r10 ; R2_w=fp0 R10=fp0 | |
; | |
209: (07) r2 += -40 ; R2_w=fp-40 | |
; value = bpf_map_lookup_elem(&allowed_ports, &key); | |
210: (18) r1 = 0x88bdf000 ; R1_w=map_ptr(off=0,ks=4,vs=2,imm=0) | |
212: (85) call bpf_map_lookup_elem#1 ; R0=map_value_or_null(id=7,off=0,ks=4,vs=2,imm=0) | |
; if (!value) | |
213: (15) if r0 == 0x0 goto pc-41 ; R0=map_value(off=0,ks=4,vs=2,imm=0) | |
; if (*value == 0) | |
214: (69) r1 = *(u16 *)(r0 +0) ; R0=map_value(off=0,ks=4,vs=2,imm=0) R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == 0) | |
215: (16) if w1 == 0x0 goto pc-43 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == port) | |
216: (61) r2 = *(u32 *)(r10 -104) ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R10=fp0 | |
217: (54) w2 &= 65535 ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; | |
218: (1e) if w1 == w2 goto pc+1 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
219: (05) goto pc+87 | |
; | |
307: (b4) w1 = 1 ; R1_w=1 | |
; __u32 key = i; | |
308: (63) *(u32 *)(r10 -40) = r1 ; R1_w=1 R10=fp0 fp-40_w=1 | |
309: (bf) r2 = r10 ; R2_w=fp0 R10=fp0 | |
; | |
310: (07) r2 += -40 ; R2_w=fp-40 | |
; value = bpf_map_lookup_elem(&allowed_ports, &key); | |
311: (18) r1 = 0x88bdf000 ; R1_w=map_ptr(off=0,ks=4,vs=2,imm=0) | |
313: (85) call bpf_map_lookup_elem#1 ; R0=map_value_or_null(id=8,off=0,ks=4,vs=2,imm=0) | |
; if (!value) | |
314: (15) if r0 == 0x0 goto pc-142 ; R0=map_value(off=0,ks=4,vs=2,imm=0) | |
; if (*value == 0) | |
315: (69) r1 = *(u16 *)(r0 +0) ; R0=map_value(off=0,ks=4,vs=2,imm=0) R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == 0) | |
316: (16) if w1 == 0x0 goto pc-144 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == port) | |
317: (61) r2 = *(u32 *)(r10 -104) ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R10=fp0 | |
318: (54) w2 &= 65535 ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; | |
319: (1e) if w1 == w2 goto pc-100 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
320: (b4) w1 = 2 ; R1_w=2 | |
; __u32 key = i; | |
321: (63) *(u32 *)(r10 -40) = r1 ; R1_w=2 R10=fp0 fp-40_w=2 | |
322: (bf) r2 = r10 ; R2_w=fp0 R10=fp0 | |
; | |
323: (07) r2 += -40 ; R2_w=fp-40 | |
; value = bpf_map_lookup_elem(&allowed_ports, &key); | |
324: (18) r1 = 0x88bdf000 ; R1_w=map_ptr(off=0,ks=4,vs=2,imm=0) | |
326: (85) call bpf_map_lookup_elem#1 ; R0=map_value_or_null(id=9,off=0,ks=4,vs=2,imm=0) | |
; if (!value) | |
327: (15) if r0 == 0x0 goto pc-155 ; R0=map_value(off=0,ks=4,vs=2,imm=0) | |
; if (*value == 0) | |
328: (69) r1 = *(u16 *)(r0 +0) ; R0=map_value(off=0,ks=4,vs=2,imm=0) R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == 0) | |
329: (16) if w1 == 0x0 goto pc-157 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == port) | |
330: (61) r2 = *(u32 *)(r10 -104) ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R10=fp0 | |
331: (54) w2 &= 65535 ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; | |
332: (1e) if w1 == w2 goto pc-113 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
333: (b4) w1 = 3 ; R1_w=3 | |
; __u32 key = i; | |
334: (63) *(u32 *)(r10 -40) = r1 ; R1_w=3 R10=fp0 fp-40_w=3 | |
335: (bf) r2 = r10 ; R2_w=fp0 R10=fp0 | |
; | |
336: (07) r2 += -40 ; R2_w=fp-40 | |
; value = bpf_map_lookup_elem(&allowed_ports, &key); | |
337: (18) r1 = 0x88bdf000 ; R1_w=map_ptr(off=0,ks=4,vs=2,imm=0) | |
339: (85) call bpf_map_lookup_elem#1 ; R0=map_value_or_null(id=10,off=0,ks=4,vs=2,imm=0) | |
; if (!value) | |
340: (15) if r0 == 0x0 goto pc-168 ; R0=map_value(off=0,ks=4,vs=2,imm=0) | |
; if (*value == 0) | |
341: (69) r1 = *(u16 *)(r0 +0) ; R0=map_value(off=0,ks=4,vs=2,imm=0) R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == 0) | |
342: (16) if w1 == 0x0 goto pc-170 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == port) | |
343: (61) r2 = *(u32 *)(r10 -104) ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R10=fp0 | |
344: (54) w2 &= 65535 ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; | |
345: (1e) if w1 == w2 goto pc-126 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
346: (b4) w1 = 4 ; R1_w=4 | |
; __u32 key = i; | |
347: (63) *(u32 *)(r10 -40) = r1 ; R1_w=4 R10=fp0 fp-40_w=4 | |
348: (bf) r2 = r10 ; R2_w=fp0 R10=fp0 | |
; | |
349: (07) r2 += -40 ; R2_w=fp-40 | |
; value = bpf_map_lookup_elem(&allowed_ports, &key); | |
350: (18) r1 = 0x88bdf000 ; R1_w=map_ptr(off=0,ks=4,vs=2,imm=0) | |
352: (85) call bpf_map_lookup_elem#1 ; R0=map_value_or_null(id=11,off=0,ks=4,vs=2,imm=0) | |
; if (!value) | |
353: (15) if r0 == 0x0 goto pc-181 ; R0=map_value(off=0,ks=4,vs=2,imm=0) | |
; if (*value == 0) | |
354: (69) r1 = *(u16 *)(r0 +0) ; R0=map_value(off=0,ks=4,vs=2,imm=0) R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == 0) | |
355: (16) if w1 == 0x0 goto pc-183 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == port) | |
356: (61) r2 = *(u32 *)(r10 -104) ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R10=fp0 | |
357: (54) w2 &= 65535 ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; | |
358: (1e) if w1 == w2 goto pc-139 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
359: (b4) w1 = 5 ; R1_w=5 | |
; __u32 key = i; | |
360: (63) *(u32 *)(r10 -40) = r1 ; R1_w=5 R10=fp0 fp-40_w=5 | |
361: (bf) r2 = r10 ; R2_w=fp0 R10=fp0 | |
; | |
362: (07) r2 += -40 ; R2_w=fp-40 | |
; value = bpf_map_lookup_elem(&allowed_ports, &key); | |
363: (18) r1 = 0x88bdf000 ; R1_w=map_ptr(off=0,ks=4,vs=2,imm=0) | |
365: (85) call bpf_map_lookup_elem#1 ; R0=map_value_or_null(id=12,off=0,ks=4,vs=2,imm=0) | |
; if (!value) | |
366: (15) if r0 == 0x0 goto pc-194 ; R0=map_value(off=0,ks=4,vs=2,imm=0) | |
; if (*value == 0) | |
367: (69) r1 = *(u16 *)(r0 +0) ; R0=map_value(off=0,ks=4,vs=2,imm=0) R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == 0) | |
368: (16) if w1 == 0x0 goto pc-196 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == port) | |
369: (61) r2 = *(u32 *)(r10 -104) ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R10=fp0 | |
370: (54) w2 &= 65535 ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; | |
371: (1e) if w1 == w2 goto pc-152 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
372: (b4) w1 = 6 ; R1_w=6 | |
; __u32 key = i; | |
373: (63) *(u32 *)(r10 -40) = r1 ; R1_w=6 R10=fp0 fp-40_w=6 | |
374: (bf) r2 = r10 ; R2_w=fp0 R10=fp0 | |
; | |
375: (07) r2 += -40 ; R2_w=fp-40 | |
; value = bpf_map_lookup_elem(&allowed_ports, &key); | |
376: (18) r1 = 0x88bdf000 ; R1_w=map_ptr(off=0,ks=4,vs=2,imm=0) | |
378: (85) call bpf_map_lookup_elem#1 ; R0=map_value_or_null(id=13,off=0,ks=4,vs=2,imm=0) | |
; if (!value) | |
379: (15) if r0 == 0x0 goto pc-207 ; R0=map_value(off=0,ks=4,vs=2,imm=0) | |
; if (*value == 0) | |
380: (69) r1 = *(u16 *)(r0 +0) ; R0=map_value(off=0,ks=4,vs=2,imm=0) R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == 0) | |
381: (16) if w1 == 0x0 goto pc-209 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == port) | |
382: (61) r2 = *(u32 *)(r10 -104) ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R10=fp0 | |
383: (54) w2 &= 65535 ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; | |
384: (1e) if w1 == w2 goto pc-165 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
385: (b4) w1 = 7 ; R1_w=7 | |
; __u32 key = i; | |
386: (63) *(u32 *)(r10 -40) = r1 ; R1_w=7 R10=fp0 fp-40_w=7 | |
387: (bf) r2 = r10 ; R2_w=fp0 R10=fp0 | |
; | |
388: (07) r2 += -40 ; R2_w=fp-40 | |
; value = bpf_map_lookup_elem(&allowed_ports, &key); | |
389: (18) r1 = 0x88bdf000 ; R1_w=map_ptr(off=0,ks=4,vs=2,imm=0) | |
391: (85) call bpf_map_lookup_elem#1 ; R0=map_value_or_null(id=14,off=0,ks=4,vs=2,imm=0) | |
; if (!value) | |
392: (15) if r0 == 0x0 goto pc-220 ; R0=map_value(off=0,ks=4,vs=2,imm=0) | |
; if (*value == 0) | |
393: (69) r1 = *(u16 *)(r0 +0) ; R0=map_value(off=0,ks=4,vs=2,imm=0) R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; if (*value == 0) | |
394: (16) if w1 == 0x0 goto pc-222 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
395: (61) r2 = *(u32 *)(r10 -104) ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) R10=fp0 | |
; if (*value == port) | |
396: (54) w2 &= 65535 ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; | |
397: (1e) if w1 == w2 goto pc-178 220: R0=map_value(off=0,ks=4,vs=2,imm=0) R1=scalar(umax=65535,var_off=(0x0; 0xffff)) R2=scalar(umax=65535,var_off=(0x0; 0xffff)) R6=ctx(off=0,imm=0) R7=scalar(id=6,umin=20480,umax=65535,var_off=(0x0; 0xffff)) R8=pkt(id=5,off=14,r=74,umax=60,var_off=(0x0; 0x3c)) R9=1 R10=fp0 fp-8=????0000 fp-16=00000000 fp-24=00000000 fp-32=mmmmmmmm fp-40=mmmmmmmm fp-48=00000000 fp-56=????mmmm fp-64=00000000 fp-72=00000000 fp-80=pkt fp-88=pkt_end fp-96=pkt fp-104= | |
; | |
220: (74) w7 >>= 10 ; R7_w=scalar(umin=20,umax=63,var_off=(0x0; 0x3f)) | |
221: (54) w7 &= 60 ; R7_w=scalar(umax=60,var_off=(0x0; 0x3c)) | |
222: (7b) *(u64 *)(r10 -104) = r7 ; R7_w=scalar(umax=60,var_off=(0x0; 0x3c)) R10=fp0 fp-104_w= | |
; if (hdr->ipv4) { | |
223: (79) r1 = *(u64 *)(r10 -80) ; R1_w=pkt(off=14,r=74,imm=0) R10=fp0 | |
224: (15) if r1 == 0x0 goto pc+174 ; R1_w=pkt(off=14,r=74,imm=0) | |
225: (79) r3 = *(u64 *)(r10 -80) ; R3_w=pkt(off=14,r=74,imm=0) R10=fp0 | |
; value = bpf_csum_diff(0, 0, (void *)hdr->ipv4, hdr->ipv4->ihl * 4, 0); | |
226: (71) r4 = *(u8 *)(r3 +0) ; R3_w=pkt(off=14,r=74,imm=0) R4_w=scalar(umax=255,var_off=(0x0; 0xff)) | |
; value = bpf_csum_diff(0, 0, (void *)hdr->ipv4, hdr->ipv4->ihl * 4, 0); | |
227: (64) w4 <<= 2 ; R4_w=scalar(umax=1020,var_off=(0x0; 0x3fc)) | |
228: (54) w4 &= 60 ; R4_w=scalar(umax=60,var_off=(0x0; 0x3c)) | |
229: (b4) w9 = 0 ; R9_w=0 | |
; value = bpf_csum_diff(0, 0, (void *)hdr->ipv4, hdr->ipv4->ihl * 4, 0); | |
230: (b7) r1 = 0 ; R1_w=0 | |
231: (b4) w2 = 0 ; R2_w=0 | |
232: (b4) w5 = 0 ; R5_w=0 | |
233: (85) call bpf_csum_diff#28 ; R0=scalar() | |
; if (value < 0) | |
234: (c5) if r0 s< 0x0 goto pc-62 ; R0=scalar(umax=9223372036854775807,var_off=(0x0; 0x7fffffffffffffff)) | |
; csum = (csum & 0xffff) + (csum >> 16); | |
235: (bc) w1 = w0 ; R0=scalar(umax=9223372036854775807,var_off=(0x0; 0x7fffffffffffffff)) R1_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) | |
236: (74) w1 >>= 16 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; csum = (csum & 0xffff) + (csum >> 16); | |
237: (54) w0 &= 65535 ; R0_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; csum = (csum & 0xffff) + (csum >> 16); | |
238: (0c) w0 += w1 ; R0_w=scalar(umax=131070,var_off=(0x0; 0x1ffff)) R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; csum = (csum & 0xffff) + (csum >> 16); | |
239: (bc) w1 = w0 ; R0_w=scalar(umax=131070,var_off=(0x0; 0x1ffff)) R1_w=scalar(umax=131070,var_off=(0x0; 0x1ffff)) | |
240: (74) w1 >>= 16 ; R1_w=scalar(umax=1,var_off=(0x0; 0x1)) | |
; csum = (csum & 0xffff) + (csum >> 16); | |
241: (0c) w1 += w0 ; R0_w=scalar(umax=131070,var_off=(0x0; 0x1ffff)) R1_w=scalar(umax=131071,var_off=(0x0; 0x1ffff)) | |
; if (csum_fold(value) != 0) | |
242: (54) w1 &= 65535 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
243: (b4) w9 = 1 ; R9_w=1 | |
; if (csum_fold(value) != 0) | |
244: (56) if w1 != 0xffff goto pc-72 ; R1_w=65535 | |
245: (b4) w9 = 0 ; R9_w=0 | |
; value = bpf_csum_diff(0, 0, (void *)hdr->tcp, hdr->tcp_len, 0); | |
246: (b7) r1 = 0 ; R1_w=0 | |
247: (b4) w2 = 0 ; R2_w=0 | |
248: (bf) r3 = r8 ; R3_w=pkt(id=5,off=14,r=74,umax=60,var_off=(0x0; 0x3c)) R8=pkt(id=5,off=14,r=74,umax=60,var_off=(0x0; 0x3c)) | |
249: (79) r4 = *(u64 *)(r10 -104) ; R4_w=scalar(umax=60,var_off=(0x0; 0x3c)) R10=fp0 | |
250: (b4) w5 = 0 ; R5_w=0 | |
251: (85) call bpf_csum_diff#28 ; R0=scalar() | |
; if (value < 0) | |
252: (c5) if r0 s< 0x0 goto pc-80 ; R0=scalar(umax=9223372036854775807,var_off=(0x0; 0x7fffffffffffffff)) | |
; s += proto + len; | |
253: (79) r1 = *(u64 *)(r10 -104) ; R1_w=scalar(umax=60,var_off=(0x0; 0x3c)) R10=fp0 | |
254: (04) w1 += 6 ; R1_w=scalar(umin=6,umax=66,var_off=(0x2; 0x7c)) | |
; __u64 s = csum; | |
255: (67) r0 <<= 32 ; R0_w=scalar(smax=9223372032559808512,umax=18446744069414584320,var_off=(0x0; 0xffffffff00000000),s32_min=0,s32_max=0,u32_max=0) | |
256: (77) r0 >>= 32 ; R0_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) | |
; s += (__u32)saddr; | |
257: (0f) r0 += r1 ; R0_w=scalar(umin=6,umax=4294967361,var_off=(0x0; 0x1ffffffff)) R1_w=scalar(umin=6,umax=66,var_off=(0x2; 0x7c)) | |
258: (79) r2 = *(u64 *)(r10 -80) ; R2_w=pkt(off=14,r=74,imm=0) R10=fp0 | |
; if (csum_tcpudp_magic(hdr->ipv4->saddr, hdr->ipv4->daddr, | |
259: (61) r1 = *(u32 *)(r2 +12) ; R1_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) R2_w=pkt(off=14,r=74,imm=0) | |
; s += (__u32)daddr; | |
260: (0f) r0 += r1 ; R0_w=scalar(umin=6,umax=8589934656,var_off=(0x0; 0x3ffffffff)) R1_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) | |
; if (csum_tcpudp_magic(hdr->ipv4->saddr, hdr->ipv4->daddr, | |
261: (61) r1 = *(u32 *)(r2 +16) ; R1_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) R2_w=pkt(off=14,r=74,imm=0) | |
; s += proto + len; | |
262: (0f) r0 += r1 ; R0_w=scalar(umin=6,umax=12884901951,var_off=(0x0; 0x3ffffffff)) R1_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) | |
; s = (s & 0xffffffff) + (s >> 32); | |
263: (bf) r1 = r0 ; R0_w=scalar(id=15,umin=6,umax=12884901951,var_off=(0x0; 0x3ffffffff)) R1_w=scalar(id=15,umin=6,umax=12884901951,var_off=(0x0; 0x3ffffffff)) | |
264: (77) r1 >>= 32 ; R1_w=scalar(umax=3,var_off=(0x0; 0x3)) | |
; s = (s & 0xffffffff) + (s >> 32); | |
265: (67) r0 <<= 32 ; R0_w=scalar(smax=9223372032559808512,umax=18446744069414584320,var_off=(0x0; 0xffffffff00000000),s32_min=0,s32_max=0,u32_max=0) | |
266: (77) r0 >>= 32 ; R0_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) | |
; s = (s & 0xffffffff) + (s >> 32); | |
267: (0f) r0 += r1 ; R0_w=scalar(umax=4294967298,var_off=(0x0; 0x1ffffffff)) R1_w=scalar(umax=3,var_off=(0x0; 0x3)) | |
; s = (s & 0xffffffff) + (s >> 32); | |
268: (bf) r1 = r0 ; R0_w=scalar(id=16,umax=4294967298,var_off=(0x0; 0x1ffffffff)) R1_w=scalar(id=16,umax=4294967298,var_off=(0x0; 0x1ffffffff)) | |
269: (77) r1 >>= 32 ; R1_w=scalar(umax=1,var_off=(0x0; 0x1)) | |
; s = (s & 0xffffffff) + (s >> 32); | |
270: (0c) w1 += w0 ; R0_w=scalar(id=16,umax=4294967298,var_off=(0x0; 0x1ffffffff)) R1_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) | |
; csum = (csum & 0xffff) + (csum >> 16); | |
271: (bc) w2 = w1 ; R1_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) R2_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) | |
272: (74) w2 >>= 16 ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; csum = (csum & 0xffff) + (csum >> 16); | |
273: (54) w1 &= 65535 ; R1_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; csum = (csum & 0xffff) + (csum >> 16); | |
274: (0c) w1 += w2 ; R1_w=scalar(umax=131070,var_off=(0x0; 0x1ffff)) R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
; csum = (csum & 0xffff) + (csum >> 16); | |
275: (bc) w2 = w1 ; R1_w=scalar(umax=131070,var_off=(0x0; 0x1ffff)) R2_w=scalar(umax=131070,var_off=(0x0; 0x1ffff)) | |
276: (74) w2 >>= 16 ; R2_w=scalar(umax=1,var_off=(0x0; 0x1)) | |
; csum = (csum & 0xffff) + (csum >> 16); | |
277: (0c) w2 += w1 ; R1_w=scalar(umax=131070,var_off=(0x0; 0x1ffff)) R2_w=scalar(umax=131071,var_off=(0x0; 0x1ffff)) | |
; hdr->tcp_len, IPPROTO_TCP, value) != 0) | |
278: (54) w2 &= 65535 ; R2_w=scalar(umax=65535,var_off=(0x0; 0xffff)) | |
279: (b4) w9 = 1 ; R9_w=1 | |
; if (csum_tcpudp_magic(hdr->ipv4->saddr, hdr->ipv4->daddr, | |
280: (56) if w2 != 0xffff goto pc-108 ; R2_w=65535 | |
; value = bpf_tcp_raw_gen_syncookie_ipv4(hdr->ipv4, hdr->tcp, | |
281: (79) r1 = *(u64 *)(r10 -80) ; R1_w=pkt(off=14,r=74,imm=0) R10=fp0 | |
282: (bf) r2 = r8 ; R2_w=pkt(id=5,off=14,r=74,umax=60,var_off=(0x0; 0x3c)) R8=pkt(id=5,off=14,r=74,umax=60,var_off=(0x0; 0x3c)) | |
283: (79) r3 = *(u64 *)(r10 -104) ; R3_w=scalar(umax=60,var_off=(0x0; 0x3c)) R10=fp0 | |
284: (85) call bpf_tcp_raw_gen_syncookie_ipv4#204 | |
invalid access to packet, off=14 size=0, R2(id=5,off=14,r=74) | |
R2 offset is outside of the packet | |
processed 309 insns (limit 1000000) max_states_per_insn 0 total_states 23 peak_states 23 mark_read 11 | |
-- END PROG LOAD LOG -- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment