Patch "bpf: Fix a bpf_jit_dump issue for x86_64 with sysctl bpf_jit_enable." has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    bpf: Fix a bpf_jit_dump issue for x86_64 with sysctl bpf_jit_enable.

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     bpf-fix-a-bpf_jit_dump-issue-for-x86_64-with-sysctl-.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit b0e8271347c4c226dbe37282e0af73053b17c108
Author: Yonghong Song <yhs@xxxxxx>
Date:   Thu Jun 8 17:54:39 2023 -0700

    bpf: Fix a bpf_jit_dump issue for x86_64 with sysctl bpf_jit_enable.
    
    [ Upstream commit ad96f1c9138e0897bee7f7c5e54b3e24f8b62f57 ]
    
    The sysctl net/core/bpf_jit_enable does not work now due to commit
    1022a5498f6f ("bpf, x86_64: Use bpf_jit_binary_pack_alloc"). The
    commit saved the jitted insns into 'rw_image' instead of 'image'
    which caused bpf_jit_dump not dumping proper content.
    
    With 'echo 2 > /proc/sys/net/core/bpf_jit_enable', run
    './test_progs -t fentry_test'. Without this patch, one of jitted
    image for one particular prog is:
    
      flen=17 proglen=92 pass=4 image=0000000014c64883 from=test_progs pid=1807
      00000000: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
      00000010: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
      00000020: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
      00000030: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
      00000040: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
      00000050: cc cc cc cc cc cc cc cc cc cc cc cc
    
    With this patch, the jitte image for the same prog is:
    
      flen=17 proglen=92 pass=4 image=00000000b90254b7 from=test_progs pid=1809
      00000000: f3 0f 1e fa 0f 1f 44 00 00 66 90 55 48 89 e5 f3
      00000010: 0f 1e fa 31 f6 48 8b 57 00 48 83 fa 07 75 2b 48
      00000020: 8b 57 10 83 fa 09 75 22 48 8b 57 08 48 81 e2 ff
      00000030: 00 00 00 48 83 fa 08 75 11 48 8b 7f 18 be 01 00
      00000040: 00 00 48 83 ff 0a 74 02 31 f6 48 bf 18 d0 14 00
      00000050: 00 c9 ff ff 48 89 77 00 31 c0 c9 c3
    
    Fixes: 1022a5498f6f ("bpf, x86_64: Use bpf_jit_binary_pack_alloc")
    Signed-off-by: Yonghong Song <yhs@xxxxxx>
    Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
    Acked-by: Song Liu <song@xxxxxxxxxx>
    Link: https://lore.kernel.org/bpf/20230609005439.3173569-1-yhs@xxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c
index 99620428ad785..db6053a22e866 100644
--- a/arch/x86/net/bpf_jit_comp.c
+++ b/arch/x86/net/bpf_jit_comp.c
@@ -2478,7 +2478,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 	}
 
 	if (bpf_jit_enable > 1)
-		bpf_jit_dump(prog->len, proglen, pass + 1, image);
+		bpf_jit_dump(prog->len, proglen, pass + 1, rw_image);
 
 	if (image) {
 		if (!prog->is_func || extra_pass) {



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux