Re: [PATCH bpf-next 2/3] bpf: map: Thread null elision metadata to map_gen_lookup

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

 



On Mon, Jan 20, 2025 at 8:35 PM Daniel Xu <dxu@xxxxxxxxx> wrote:
>
> Add an extra parameter to map_gen_lookup callback so that if the lookup
> is known to be inbounds, the bounds check can be omitted.
>
> The next commit will take advantage of this new information.
>
> Signed-off-by: Daniel Xu <dxu@xxxxxxxxx>
> ---
>  include/linux/bpf.h   |  2 +-
>  kernel/bpf/arraymap.c | 11 ++++++++---
>  kernel/bpf/hashtab.c  | 14 ++++++++++----
>  kernel/bpf/verifier.c |  2 +-
>  net/xdp/xskmap.c      |  4 +++-
>  5 files changed, 23 insertions(+), 10 deletions(-)
>
> diff --git a/include/linux/bpf.h b/include/linux/bpf.h
> index feda0ce90f5a..da8b420095c9 100644
> --- a/include/linux/bpf.h
> +++ b/include/linux/bpf.h
> @@ -117,7 +117,7 @@ struct bpf_map_ops {
>          * may manipulate it, exists.
>          */
>         void (*map_fd_put_ptr)(struct bpf_map *map, void *ptr, bool need_defer);
> -       int (*map_gen_lookup)(struct bpf_map *map, struct bpf_insn *insn_buf);
> +       int (*map_gen_lookup)(struct bpf_map *map, struct bpf_insn *insn_buf, bool inbounds);

The next time around we'd need another bool and more churn.
Let's use 'enum map_gen_flags flags' right away.

Also don't you want to pass an actual const_map_key
since its already known?
And the whole array_map_gen_lookup will become
single ld_imm64 insn.





[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