All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 bpf-next 0/4] Make inode storage available to tracing prog
@ 2024-11-12  8:36 Song Liu
  2024-11-12  8:36 ` [PATCH v2 bpf-next 1/4] bpf: lsm: Remove hook to bpf_task_storage_free Song Liu
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Song Liu @ 2024-11-12  8:36 UTC (permalink / raw)
  To: bpf, linux-fsdevel, linux-kernel, linux-security-module
  Cc: kernel-team, andrii, eddyz87, ast, daniel, martin.lau, viro,
	brauner, jack, kpsingh, mattbobrowski, amir73il, repnop, jlayton,
	josef, mic, gnoack, Song Liu

bpf inode local storage can be useful beyond LSM programs. For example,
bcc/libbpf-tools file* can use inode local storage to simplify the logic.
This set makes inode local storage available to tracing program.

1/4 is missing change for bpf task local storage. 2/4 move inode local
storage from security blob to inode.

Similar to task local storage in tracing program, it is necessary to add
recursion prevention logic for inode local storage. Patch 3/4 adds such
logic, and 4/4 add a test for the recursion prevention logic.

Changes v1 => v2:
1. Rebase.
2. Fix send-email mistake.

Song Liu (4):
  bpf: lsm: Remove hook to bpf_task_storage_free
  bpf: Make bpf inode storage available to tracing program
  bpf: Add recursion prevention logic for inode storage
  selftest/bpf: Test inode local storage recursion prevention

 fs/inode.c                                    |   1 +
 include/linux/bpf.h                           |   9 +
 include/linux/bpf_lsm.h                       |  29 ---
 include/linux/fs.h                            |   4 +
 kernel/bpf/Makefile                           |   3 +-
 kernel/bpf/bpf_inode_storage.c                | 185 +++++++++++++-----
 kernel/bpf/bpf_lsm.c                          |   4 -
 kernel/trace/bpf_trace.c                      |   8 +
 security/bpf/hooks.c                          |   7 -
 tools/testing/selftests/bpf/DENYLIST.s390x    |   1 +
 .../bpf/prog_tests/inode_local_storage.c      |  72 +++++++
 .../bpf/progs/inode_storage_recursion.c       |  90 +++++++++
 12 files changed, 320 insertions(+), 93 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/prog_tests/inode_local_storage.c
 create mode 100644 tools/testing/selftests/bpf/progs/inode_storage_recursion.c

--
2.43.5

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-11-12 23:46 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-12  8:36 [PATCH v2 bpf-next 0/4] Make inode storage available to tracing prog Song Liu
2024-11-12  8:36 ` [PATCH v2 bpf-next 1/4] bpf: lsm: Remove hook to bpf_task_storage_free Song Liu
2024-11-12  8:36 ` [PATCH v2 bpf-next 2/4] bpf: Make bpf inode storage available to tracing program Song Liu
2024-11-12 22:04   ` Alexei Starovoitov
2024-11-12 23:00   ` Martin KaFai Lau
2024-11-12 23:10     ` Song Liu
2024-11-12  8:36 ` [PATCH v2 bpf-next 3/4] bpf: Add recursion prevention logic for inode storage Song Liu
2024-11-12 23:26   ` Martin KaFai Lau
2024-11-12  8:37 ` [PATCH v2 bpf-next 4/4] selftest/bpf: Test inode local storage recursion prevention Song Liu
2024-11-12 23:46 ` [PATCH v2 bpf-next 0/4] Make inode storage available to tracing prog Martin KaFai Lau

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.