Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+14 -11
+4 -1
net/xdp/xsk.c
··· 806 806 * if there is space in it. This avoids having to implement 807 807 * any buffering in the Tx path. 808 808 */ 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; 810 812 goto out; 813 + } 811 814 812 815 skb = xsk_build_skb(xs, &desc); 813 816 if (IS_ERR(skb)) {
+1 -1
tools/testing/selftests/bpf/progs/test_module_attach.c
··· 117 117 118 118 bpf_probe_read_kernel(&buf, 8, ret); 119 119 bpf_probe_read_kernel(&buf, 8, (char *)ret + 256); 120 - *(volatile long long *)ret; 120 + *(volatile int *)ret; 121 121 *(volatile int *)&ret->f_mode; 122 122 return 0; 123 123 }
+3 -3
tools/testing/selftests/bpf/progs/test_subprogs_extable.c
··· 21 21 SEC("fexit/bpf_testmod_return_ptr") 22 22 int BPF_PROG(handle_fexit_ret_subprogs, int arg, struct file *ret) 23 23 { 24 - *(volatile long *)ret; 24 + *(volatile int *)ret; 25 25 *(volatile int *)&ret->f_mode; 26 26 bpf_for_each_map_elem(&test_array, test_cb, NULL, 0); 27 27 triggered++; ··· 31 31 SEC("fexit/bpf_testmod_return_ptr") 32 32 int BPF_PROG(handle_fexit_ret_subprogs2, int arg, struct file *ret) 33 33 { 34 - *(volatile long *)ret; 34 + *(volatile int *)ret; 35 35 *(volatile int *)&ret->f_mode; 36 36 bpf_for_each_map_elem(&test_array, test_cb, NULL, 0); 37 37 triggered++; ··· 41 41 SEC("fexit/bpf_testmod_return_ptr") 42 42 int BPF_PROG(handle_fexit_ret_subprogs3, int arg, struct file *ret) 43 43 { 44 - *(volatile long *)ret; 44 + *(volatile int *)ret; 45 45 *(volatile int *)&ret->f_mode; 46 46 bpf_for_each_map_elem(&test_array, test_cb, NULL, 0); 47 47 triggered++;
+3 -3
tools/testing/selftests/bpf/progs/verifier_bpf_fastcall.c
··· 12 12 __arch_x86_64 13 13 __log_level(4) __msg("stack depth 8") 14 14 __xlated("4: r5 = 5") 15 - __xlated("5: w0 = ") 15 + __xlated("5: r0 = ") 16 16 __xlated("6: r0 = &(void __percpu *)(r0)") 17 17 __xlated("7: r0 = *(u32 *)(r0 +0)") 18 18 __xlated("8: exit") ··· 704 704 __arch_x86_64 705 705 __log_level(4) __msg("stack depth 32+0") 706 706 __xlated("2: r1 = 1") 707 - __xlated("3: w0 =") 707 + __xlated("3: r0 =") 708 708 __xlated("4: r0 = &(void __percpu *)(r0)") 709 709 __xlated("5: r0 = *(u32 *)(r0 +0)") 710 710 /* bpf_loop params setup */ ··· 753 753 __log_level(4) __msg("stack depth 40+0") 754 754 /* call bpf_get_smp_processor_id */ 755 755 __xlated("2: r1 = 42") 756 - __xlated("3: w0 =") 756 + __xlated("3: r0 =") 757 757 __xlated("4: r0 = &(void __percpu *)(r0)") 758 758 __xlated("5: r0 = *(u32 *)(r0 +0)") 759 759 /* call bpf_get_prandom_u32 */
+3 -3
tools/testing/selftests/bpf/progs/verifier_private_stack.c
··· 27 27 __success 28 28 __arch_x86_64 29 29 __jited(" movabsq $0x{{.*}}, %r9") 30 - __jited(" addq %gs:0x{{.*}}, %r9") 30 + __jited(" addq %gs:{{.*}}, %r9") 31 31 __jited(" movl $0x2a, %edi") 32 32 __jited(" movq %rdi, -0x100(%r9)") 33 33 __naked void private_stack_single_prog(void) ··· 74 74 __arch_x86_64 75 75 /* private stack fp for the main prog */ 76 76 __jited(" movabsq $0x{{.*}}, %r9") 77 - __jited(" addq %gs:0x{{.*}}, %r9") 77 + __jited(" addq %gs:{{.*}}, %r9") 78 78 __jited(" movl $0x2a, %edi") 79 79 __jited(" movq %rdi, -0x200(%r9)") 80 80 __jited(" pushq %r9") ··· 122 122 __jited(" movq %rsp, %rbp") 123 123 __jited(" endbr64") 124 124 __jited(" movabsq $0x{{.*}}, %r9") 125 - __jited(" addq %gs:0x{{.*}}, %r9") 125 + __jited(" addq %gs:{{.*}}, %r9") 126 126 __jited(" pushq %r9") 127 127 __jited(" callq") 128 128 __jited(" popq %r9")