Message ID | 188c69a78ff2b1488ac16a1928311ea3ab39abed.1636987322.git.pabeni@redhat.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | BPF |
Headers | show |
Series | bpf: do not WARN in bpf_warn_invalid_xdp_action() | expand |
Paolo Abeni <pabeni@redhat.com> writes: > The WARN_ONCE() in bpf_warn_invalid_xdp_action() can be triggered by > any bugged program, and even attaching a correct program to a NIC > not supporting the given action. > > The resulting splat, beyond polluting the logs, fouls automated tools: > e.g. a syzkaller reproducers using an XDP program returning an > unsupported action will never pass validation. > > Replace the WARN_ONCE with a less intrusive pr_warn_once(). > > Signed-off-by: Paolo Abeni <pabeni@redhat.com> Acked-by: Toke Høiland-Jørgensen <toke@redhat.com>
diff --git a/net/core/filter.c b/net/core/filter.c index e471c9b09670..3ba584bb23f8 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -8183,9 +8183,9 @@ void bpf_warn_invalid_xdp_action(u32 act) { const u32 act_max = XDP_REDIRECT; - WARN_ONCE(1, "%s XDP return value %u, expect packet loss!\n", - act > act_max ? "Illegal" : "Driver unsupported", - act); + pr_warn_once("%s XDP return value %u, expect packet loss!\n", + act > act_max ? "Illegal" : "Driver unsupported", + act); } EXPORT_SYMBOL_GPL(bpf_warn_invalid_xdp_action);
The WARN_ONCE() in bpf_warn_invalid_xdp_action() can be triggered by any bugged program, and even attaching a correct program to a NIC not supporting the given action. The resulting splat, beyond polluting the logs, fouls automated tools: e.g. a syzkaller reproducers using an XDP program returning an unsupported action will never pass validation. Replace the WARN_ONCE with a less intrusive pr_warn_once(). Signed-off-by: Paolo Abeni <pabeni@redhat.com> --- net/core/filter.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)