mbox series

[bpf-next,v6,0/2] Refactor lock management

Message ID 20241109231430.2475236-1-memxor@gmail.com (mailing list archive)
Headers show
Series Refactor lock management | expand

Message

Kumar Kartikeya Dwivedi Nov. 9, 2024, 11:14 p.m. UTC
This set refactors lock management in the verifier in preparation for
spin locks that can be acquired multiple times. In addition to this,
unnecessary code special case reference leak logic for callbacks is also
dropped, that is no longer necessary. See patches for details.

Changelog:
----------
v5 -> v6
v5: https://lore.kernel.org/bpf/20241109225243.2306756-1-memxor@gmail.com

 * Move active_locks mutation to {acquire,release}_lock_state (Alexei)

v4 -> v5
v4: https://lore.kernel.org/bpf/20241109074347.1434011-1-memxor@gmail.com

 * Make active_locks part of bpf_func_state (Alexei)
 * Remove unneeded in_callback_fn logic for references

v3 -> v4
v3: https://lore.kernel.org/bpf/20241104151716.2079893-1-memxor@gmail.com

* Address comments from Alexei
  * Drop struct bpf_active_lock definition
  * Name enum type, expand definition to multiple lines
  * s/REF_TYPE_BPF_LOCK/REF_TYPE_LOCK/g
  * Change active_lock type to int
  * Fix type of 'type' in acquire_lock_state
  * Filter by taking type explicitly in find_lock_state
  * WARN for default case in refsafe switch statement

v2 -> v3
v2: https://lore.kernel.org/bpf/20241103212252.547071-1-memxor@gmail.com

  * Rebase on bpf-next to resolve merge conflict

v1 -> v2
v1: https://lore.kernel.org/bpf/20241103205856.345580-1-memxor@gmail.com

  * Fix refsafe state comparison to check callback_ref and ptr separately.

Kumar Kartikeya Dwivedi (2):
  bpf: Refactor active lock management
  bpf: Drop special callback reference handling

 include/linux/bpf_verifier.h                  |  40 ++---
 kernel/bpf/verifier.c                         | 165 ++++++++++++------
 .../selftests/bpf/prog_tests/cb_refs.c        |   4 +-
 3 files changed, 123 insertions(+), 86 deletions(-)


base-commit: 163ea3dec3c8048618f561a2c3b30f4c5795e991

Comments

patchwork-bot+netdevbpf@kernel.org Nov. 10, 2024, 12:10 a.m. UTC | #1
Hello:

This series was applied to bpf/bpf-next.git (master)
by Alexei Starovoitov <ast@kernel.org>:

On Sat,  9 Nov 2024 15:14:28 -0800 you wrote:
> This set refactors lock management in the verifier in preparation for
> spin locks that can be acquired multiple times. In addition to this,
> unnecessary code special case reference leak logic for callbacks is also
> dropped, that is no longer necessary. See patches for details.
> 
> Changelog:
> 
> [...]

Here is the summary with links:
  - [bpf-next,v6,1/2] bpf: Refactor active lock management
    https://git.kernel.org/bpf/bpf-next/c/25eb5b03b669
  - [bpf-next,v6,2/2] bpf: Drop special callback reference handling
    https://git.kernel.org/bpf/bpf-next/c/9bb162b059aa

You are awesome, thank you!