Skip to content

Commit 531a62f

Browse files
committed
Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Pull bpf fixes from Alexei Starovoitov: - Fix BPF selftests expectations of assembler output and struct layout (Song Liu and Yonghong Song) - Fix XSK error code when queue is full (Wang Liang) * tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: selftests/bpf: Fix verifier_private_stack test failure selftests/bpf: Fix verifier_bpf_fastcall test selftests/bpf: Fix tests after fields reorder in struct file xsk: Fix __xsk_generic_xmit() error code when cq is full
2 parents 5a2b5cb + 3f8ad18 commit 531a62f

File tree

5 files changed

+14
-11
lines changed

5 files changed

+14
-11
lines changed

net/xdp/xsk.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -806,8 +806,11 @@ static int __xsk_generic_xmit(struct sock *sk)
806806
* if there is space in it. This avoids having to implement
807807
* any buffering in the Tx path.
808808
*/
809-
if (xsk_cq_reserve_addr_locked(xs->pool, desc.addr))
809+
err = xsk_cq_reserve_addr_locked(xs->pool, desc.addr);
810+
if (err) {
811+
err = -EAGAIN;
810812
goto out;
813+
}
811814

812815
skb = xsk_build_skb(xs, &desc);
813816
if (IS_ERR(skb)) {

tools/testing/selftests/bpf/progs/test_module_attach.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ int BPF_PROG(handle_fexit_ret, int arg, struct file *ret)
117117

118118
bpf_probe_read_kernel(&buf, 8, ret);
119119
bpf_probe_read_kernel(&buf, 8, (char *)ret + 256);
120-
*(volatile long long *)ret;
120+
*(volatile int *)ret;
121121
*(volatile int *)&ret->f_mode;
122122
return 0;
123123
}

tools/testing/selftests/bpf/progs/test_subprogs_extable.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ static __u64 test_cb(struct bpf_map *map, __u32 *key, __u64 *val, void *data)
2121
SEC("fexit/bpf_testmod_return_ptr")
2222
int BPF_PROG(handle_fexit_ret_subprogs, int arg, struct file *ret)
2323
{
24-
*(volatile long *)ret;
24+
*(volatile int *)ret;
2525
*(volatile int *)&ret->f_mode;
2626
bpf_for_each_map_elem(&test_array, test_cb, NULL, 0);
2727
triggered++;
@@ -31,7 +31,7 @@ int BPF_PROG(handle_fexit_ret_subprogs, int arg, struct file *ret)
3131
SEC("fexit/bpf_testmod_return_ptr")
3232
int BPF_PROG(handle_fexit_ret_subprogs2, int arg, struct file *ret)
3333
{
34-
*(volatile long *)ret;
34+
*(volatile int *)ret;
3535
*(volatile int *)&ret->f_mode;
3636
bpf_for_each_map_elem(&test_array, test_cb, NULL, 0);
3737
triggered++;
@@ -41,7 +41,7 @@ int BPF_PROG(handle_fexit_ret_subprogs2, int arg, struct file *ret)
4141
SEC("fexit/bpf_testmod_return_ptr")
4242
int BPF_PROG(handle_fexit_ret_subprogs3, int arg, struct file *ret)
4343
{
44-
*(volatile long *)ret;
44+
*(volatile int *)ret;
4545
*(volatile int *)&ret->f_mode;
4646
bpf_for_each_map_elem(&test_array, test_cb, NULL, 0);
4747
triggered++;

tools/testing/selftests/bpf/progs/verifier_bpf_fastcall.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ SEC("raw_tp")
1212
__arch_x86_64
1313
__log_level(4) __msg("stack depth 8")
1414
__xlated("4: r5 = 5")
15-
__xlated("5: w0 = ")
15+
__xlated("5: r0 = ")
1616
__xlated("6: r0 = &(void __percpu *)(r0)")
1717
__xlated("7: r0 = *(u32 *)(r0 +0)")
1818
__xlated("8: exit")
@@ -704,7 +704,7 @@ SEC("raw_tp")
704704
__arch_x86_64
705705
__log_level(4) __msg("stack depth 32+0")
706706
__xlated("2: r1 = 1")
707-
__xlated("3: w0 =")
707+
__xlated("3: r0 =")
708708
__xlated("4: r0 = &(void __percpu *)(r0)")
709709
__xlated("5: r0 = *(u32 *)(r0 +0)")
710710
/* bpf_loop params setup */
@@ -753,7 +753,7 @@ __arch_x86_64
753753
__log_level(4) __msg("stack depth 40+0")
754754
/* call bpf_get_smp_processor_id */
755755
__xlated("2: r1 = 42")
756-
__xlated("3: w0 =")
756+
__xlated("3: r0 =")
757757
__xlated("4: r0 = &(void __percpu *)(r0)")
758758
__xlated("5: r0 = *(u32 *)(r0 +0)")
759759
/* call bpf_get_prandom_u32 */

tools/testing/selftests/bpf/progs/verifier_private_stack.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ __description("Private stack, single prog")
2727
__success
2828
__arch_x86_64
2929
__jited(" movabsq $0x{{.*}}, %r9")
30-
__jited(" addq %gs:0x{{.*}}, %r9")
30+
__jited(" addq %gs:{{.*}}, %r9")
3131
__jited(" movl $0x2a, %edi")
3232
__jited(" movq %rdi, -0x100(%r9)")
3333
__naked void private_stack_single_prog(void)
@@ -74,7 +74,7 @@ __success
7474
__arch_x86_64
7575
/* private stack fp for the main prog */
7676
__jited(" movabsq $0x{{.*}}, %r9")
77-
__jited(" addq %gs:0x{{.*}}, %r9")
77+
__jited(" addq %gs:{{.*}}, %r9")
7878
__jited(" movl $0x2a, %edi")
7979
__jited(" movq %rdi, -0x200(%r9)")
8080
__jited(" pushq %r9")
@@ -122,7 +122,7 @@ __jited(" pushq %rbp")
122122
__jited(" movq %rsp, %rbp")
123123
__jited(" endbr64")
124124
__jited(" movabsq $0x{{.*}}, %r9")
125-
__jited(" addq %gs:0x{{.*}}, %r9")
125+
__jited(" addq %gs:{{.*}}, %r9")
126126
__jited(" pushq %r9")
127127
__jited(" callq")
128128
__jited(" popq %r9")

0 commit comments

Comments
 (0)