Commit 3b9ce049 authored by Jakub Sitnicki's avatar Jakub Sitnicki Committed by Daniel Borkmann
Browse files

Revert "bpf, sockmap: Prevent lock inversion deadlock in map delete elem"



This reverts commit ff910599.

This check is no longer needed. BPF programs attached to tracepoints are
now rejected by the verifier when they attempt to delete from a
sockmap/sockhash maps.

Signed-off-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20240527-sockmap-verify-deletes-v1-2-944b372f2101@cloudflare.com
parent 98e948fb
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -423,9 +423,6 @@ static int __sock_map_delete(struct bpf_stab *stab, struct sock *sk_test,
	struct sock *sk;
	int err = 0;

	if (irqs_disabled())
		return -EOPNOTSUPP; /* locks here are hardirq-unsafe */

	spin_lock_bh(&stab->lock);
	sk = *psk;
	if (!sk_test || sk_test == sk)
@@ -948,9 +945,6 @@ static long sock_hash_delete_elem(struct bpf_map *map, void *key)
	struct bpf_shtab_elem *elem;
	int ret = -ENOENT;

	if (irqs_disabled())
		return -EOPNOTSUPP; /* locks here are hardirq-unsafe */

	hash = sock_hash_bucket_hash(key, key_size);
	bucket = sock_hash_select_bucket(htab, hash);