Re: [PATCH bpf-next 07/13] bpf: prepare btf_prepare_func_args() for handling static subprogs

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

 



On Mon, 2023-12-04 at 15:39 -0800, Andrii Nakryiko wrote:
> Generalize btf_prepare_func_args() to support both global and static
> subprogs. We are going to utilize this property in the next patch,
> reusing btf_prepare_func_args() for subprog call logic instead of
> reparsing BTF information in a completely separate implementation.
> 
> btf_prepare_func_args() now detects whether subprog is global or static
> makes slight logic adjustments for static func cases, like not failing
> fatally (-EFAULT) for conditions that are allowable for static subprogs.
> 
> Somewhat subtle (but major!) difference is the handling of pointer arguments.
> Both global and static functions need to handle special context
> arguments (which are pointers to predefined type names), but static
> subprogs give up on any other pointers, falling back to marking subprog
> as "unreliable", disabling the use of BTF type information altogether.
> 
> For global functions, though, we are assuming that such pointers to
> unrecognized types are just pointers to fixed-sized memory region (or
> error out if size cannot be established, like for `void *` pointers).
> 
> This patch accommodates these small differences and sets up a stage for
> refactoring in the next patch, eliminating a separate BTF-based parsing
> logic in btf_check_func_arg_match().
> 
> Signed-off-by: Andrii Nakryiko <andrii@xxxxxxxxxx>
> ---

Acked-by: Eduard Zingerman <eddyz87@xxxxxxxxx>






[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux