android_kernel_sony_sdm845/include
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Martin KaFai Lau 43094befbe BACKPORT: bpf: Add hash of maps support
This patch adds hash of maps support (hashmap->bpf_map).
BPF_MAP_TYPE_HASH_OF_MAPS is added.

A map-in-map contains a pointer to another map and lets call
this pointer 'inner_map_ptr'.

Notes on deleting inner_map_ptr from a hash map:

1. For BPF_F_NO_PREALLOC map-in-map, when deleting
   an inner_map_ptr, the htab_elem itself will go through
   a rcu grace period and the inner_map_ptr resides
   in the htab_elem.

2. For pre-allocated htab_elem (!BPF_F_NO_PREALLOC),
   when deleting an inner_map_ptr, the htab_elem may
   get reused immediately.  This situation is similar
   to the existing prealloc-ated use cases.

   However, the bpf_map_fd_put_ptr() calls bpf_map_put() which calls
   inner_map->ops->map_free(inner_map) which will go
   through a rcu grace period (i.e. all bpf_map's map_free
   currently goes through a rcu grace period).  Hence,
   the inner_map_ptr is still safe for the rcu reader side.

This patch also includes BPF_MAP_TYPE_HASH_OF_MAPS to the
check_map_prealloc() in the verifier.  preallocation is a
must for BPF_PROG_TYPE_PERF_EVENT.  Hence, even we don't expect
heavy updates to map-in-map, enforcing BPF_F_NO_PREALLOC for map-in-map
is impossible without disallowing BPF_PROG_TYPE_PERF_EVENT from using
map-in-map first.

Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sorayukii <sorayukii69@gmail.com>
2026-05-15 17:54:34 +07:00
..
acpi ACPI: scan: Use unique number for instance_no 2021-03-30 14:41:41 +02:00
asm-generic treewide: Backport new vmalloc for large performance benefits 2026-05-15 17:48:25 +07:00
clocksource
crypto Merge remote-tracking branch 'common/android-4.9-q' into android12-4.9-sdm845 2022-07-18 14:05:31 +03:00
drm treewide: Backport new vmalloc for large performance benefits 2026-05-15 17:48:25 +07:00
dt-bindings clk: msm: gcc: Add support for BB_CLK3 for SDM429 2020-05-28 10:47:09 +05:30
keys
kvm
linux BACKPORT: bpf: Add hash of maps support 2026-05-15 17:54:34 +07:00
math-emu
media media: media/cec.h: add CEC_CAP_DEFAULTS 2020-06-22 22:31:02 -07:00
memory
microvisor
misc
net UPSTREAM: flow disector: ARP support 2026-05-15 17:54:31 +07:00
pcmcia
ras
rdma IB/cma: Fix reference count leak when no ipv4 addresses are set 2020-06-03 08:16:33 +02:00
rxrpc
scsi Merge remote-tracking branch 'common/android-4.9-q' into android13-4.9-sdm845 2022-11-09 19:25:28 +02:00
soc Merge branch 'android-4.9-q' of https://android.googlesource.com/kernel/common into lineage-17.1-caf-sdm845 2021-01-17 05:04:08 +02:00
sound Revert "ANDROID: ALSA: jack: Update supported jack switch types" 2026-01-06 16:27:45 +02:00
target scsi: target: Fix ordered tag handling 2021-11-26 11:48:41 +01:00
trace UPSTREAM: kernfs: handle null pointers while printing node name and path 2026-05-15 17:54:29 +07:00
uapi BACKPORT: bpf: Add hash of maps support 2026-05-15 17:54:34 +07:00
video Merge remote-tracking branch 'common/android-4.9-q' into android12-4.9-sdm845 2022-09-06 06:20:26 +03:00
vservices
xen xen/gnttab: fix gnttab_end_foreign_access() without page specified 2022-03-11 10:03:33 +01:00