mirror of
https://github.com/torvalds/linux.git
synced 2026-09-27 11:02:03 +02:00
bpf: Disable private stack for x86_64 if stack arguments used
Other architectures like arm64, riscv, etc. have enough register and for them private stack can be used together with stack arguments. Signed-off-by: Yonghong Song <yonghong.song@linux.dev> Link: https://lore.kernel.org/r/20260513045114.2392291-1-yonghong.song@linux.dev Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
35b7873316
commit
cb6af53140
|
|
@ -5163,7 +5163,10 @@ static int check_max_stack_depth_subprog(struct bpf_verifier_env *env, int idx,
|
|||
}
|
||||
|
||||
subprog_depth = round_up_stack_depth(env, subprog[idx].stack_depth);
|
||||
if (priv_stack_supported) {
|
||||
if (IS_ENABLED(CONFIG_X86_64) && subprog[idx].stack_arg_cnt) {
|
||||
/* x86-64 uses R9 for both private stack frame pointer and arg6. */
|
||||
subprog[idx].priv_stack_mode = NO_PRIV_STACK;
|
||||
} else if (priv_stack_supported) {
|
||||
/* Request private stack support only if the subprog stack
|
||||
* depth is no less than BPF_PRIV_STACK_MIN_SIZE. This is to
|
||||
* avoid jit penalty if the stack usage is small.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user