]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
bpf: Allow local storage to be used from LSM programs
authorKP Singh <kpsingh@google.com>
Tue, 25 Aug 2020 18:29:18 +0000 (20:29 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 25 Aug 2020 22:00:04 +0000 (15:00 -0700)
commit30897832d8b97e93833fb52c0a02951db3692ed2
tree7e10ebe1b8b5961832641bd4336dc23e35bb0c1c
parent8ea636848aca35b9f97c5b5dee30225cf2dd0fe6
bpf: Allow local storage to be used from LSM programs

Adds support for both bpf_{sk, inode}_storage_{get, delete} to be used
in LSM programs. These helpers are not used for tracing programs
(currently) as their usage is tied to the life-cycle of the object and
should only be used where the owning object won't be freed (when the
owning object is passed as an argument to the LSM hook). Thus, they
are safer to use in LSM hooks than tracing. Usage of local storage in
tracing programs will probably follow a per function based whitelist
approach.

Since the UAPI helper signature for bpf_sk_storage expect a bpf_sock,
it, leads to a compilation warning for LSM programs, it's also updated
to accept a void * pointer instead.

Signed-off-by: KP Singh <kpsingh@google.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/bpf/20200825182919.1118197-7-kpsingh@chromium.org
include/net/bpf_sk_storage.h
include/uapi/linux/bpf.h
kernel/bpf/bpf_lsm.c
net/core/bpf_sk_storage.c
tools/include/uapi/linux/bpf.h