Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 976d28bf authored by Daniel Borkmann's avatar Daniel Borkmann Committed by David S. Miller
Browse files

bpf: don't enable preemption twice in smap_do_verdict



In smap_do_verdict(), the fall-through branch leads to call
preempt_enable() twice for the SK_REDIRECT, which creates an
imbalance. Only enable it for all remaining cases again.

Fixes: 174a79ff ("bpf: sockmap with sk redirect support")
Reported-by: default avatarAlexei Starovoitov <ast@kernel.org>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8c37bc67
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -135,6 +135,7 @@ static void smap_do_verdict(struct smap_psock *psock, struct sk_buff *skb)
	/* Fall through and free skb otherwise */
	case SK_DROP:
	default:
		if (rc != SK_REDIRECT)
			preempt_enable();
		kfree_skb(skb);
	}