Patch "bpf, verifier: Correct tail_call_reachable for bpf prog" has been added to the 6.6-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, verifier: Correct tail_call_reachable for bpf prog

to the 6.6-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-verifier-correct-tail_call_reachable-for-bpf-pro.patch
and it can be found in the queue-6.6 subdirectory.

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



commit 86fedbd1ff636dc7cab303350acd3565158c1559
Author: Leon Hwang <hffilwlqm@xxxxxxxxx>
Date:   Mon Jun 10 20:42:23 2024 +0800

    bpf, verifier: Correct tail_call_reachable for bpf prog
    
    [ Upstream commit 01793ed86b5d7df1e956520b5474940743eb7ed8 ]
    
    It's confusing to inspect 'prog->aux->tail_call_reachable' with drgn[0],
    when bpf prog has tail call but 'tail_call_reachable' is false.
    
    This patch corrects 'tail_call_reachable' when bpf prog has tail call.
    
    Signed-off-by: Leon Hwang <hffilwlqm@xxxxxxxxx>
    Link: https://lore.kernel.org/r/20240610124224.34673-2-hffilwlqm@xxxxxxxxx
    Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 3f1a9cd7fc9e..9d5699942273 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -3064,8 +3064,10 @@ static int check_subprogs(struct bpf_verifier_env *env)
 
 		if (code == (BPF_JMP | BPF_CALL) &&
 		    insn[i].src_reg == 0 &&
-		    insn[i].imm == BPF_FUNC_tail_call)
+		    insn[i].imm == BPF_FUNC_tail_call) {
 			subprog[cur_subprog].has_tail_call = true;
+			subprog[cur_subprog].tail_call_reachable = true;
+		}
 		if (BPF_CLASS(code) == BPF_LD &&
 		    (BPF_MODE(code) == BPF_ABS || BPF_MODE(code) == BPF_IND))
 			subprog[cur_subprog].has_ld_abs = true;




[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