mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
riscv, bpf: Optimize stack usage of trampoline
When BPF_TRAMP_F_CALL_ORIG is not set, stack space for passing arguments on stack doesn't need to be reserved because the original function is not called. Only reserve space for stacked arguments when BPF_TRAMP_F_CALL_ORIG is set. Signed-off-by: Puranjay Mohan <puranjay@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Pu Lehui <pulehui@huawei.com> Link: https://lore.kernel.org/bpf/20240708114758.64414-1-puranjay@kernel.org
This commit is contained in:
parent
fd8db07705
commit
a5912c37fa
@ -892,7 +892,7 @@ static int __arch_prepare_bpf_trampoline(struct bpf_tramp_image *im,
|
||||
stack_size += 8;
|
||||
sreg_off = stack_size;
|
||||
|
||||
if (nr_arg_slots - RV_MAX_REG_ARGS > 0)
|
||||
if ((flags & BPF_TRAMP_F_CALL_ORIG) && (nr_arg_slots - RV_MAX_REG_ARGS > 0))
|
||||
stack_size += (nr_arg_slots - RV_MAX_REG_ARGS) * 8;
|
||||
|
||||
stack_size = round_up(stack_size, STACK_ALIGN);
|
||||
|
Loading…
Reference in New Issue
Block a user