diff options
Diffstat (limited to 'debian/patches-rt/bpf-Remove-tst_run-from-lwt_seg6local_prog_ops.patch')
-rw-r--r-- | debian/patches-rt/bpf-Remove-tst_run-from-lwt_seg6local_prog_ops.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/debian/patches-rt/bpf-Remove-tst_run-from-lwt_seg6local_prog_ops.patch b/debian/patches-rt/bpf-Remove-tst_run-from-lwt_seg6local_prog_ops.patch new file mode 100644 index 0000000000..37d4e85805 --- /dev/null +++ b/debian/patches-rt/bpf-Remove-tst_run-from-lwt_seg6local_prog_ops.patch @@ -0,0 +1,40 @@ +From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +Date: Wed, 10 Jul 2024 16:16:31 +0200 +Subject: [PATCH] bpf: Remove tst_run from lwt_seg6local_prog_ops. +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.10/older/patches-6.10.2-rt14.tar.xz + +The syzbot reported that the lwt_seg6 related BPF ops can be invoked +via bpf_test_run() without without entering input_action_end_bpf() +first. + +Martin KaFai Lau said that self test for BPF_PROG_TYPE_LWT_SEG6LOCAL +probably didn't work since it was introduced in commit 04d4b274e2a +("ipv6: sr: Add seg6local action End.BPF"). The reason is that the +per-CPU variable seg6_bpf_srh_states::srh is never assigned in the self +test case but each BPF function expects it. + +Remove test_run for BPF_PROG_TYPE_LWT_SEG6LOCAL. + +Suggested-by: Martin KaFai Lau <martin.lau@linux.dev> +Reported-by: syzbot+608a2acde8c5a101d07d@syzkaller.appspotmail.com +Fixes: d1542d4ae4df ("seg6: Use nested-BH locking for seg6_bpf_srh_states.") +Fixes: 004d4b274e2a ("ipv6: sr: Add seg6local action End.BPF") +Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +Acked-by: Daniel Borkmann <daniel@iogearbox.net> +Link: https://lore.kernel.org/r/20240710141631.FbmHcQaX@linutronix.de +Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org> +Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +--- + net/core/filter.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/net/core/filter.c ++++ b/net/core/filter.c +@@ -11047,7 +11047,6 @@ const struct bpf_verifier_ops lwt_seg6lo + }; + + const struct bpf_prog_ops lwt_seg6local_prog_ops = { +- .test_run = bpf_prog_test_run_skb, + }; + + const struct bpf_verifier_ops cg_sock_verifier_ops = { |