xfrm/compat: Cleanup WARN()s that can be user-triggered
authorDmitry Safonov <dima@arista.com>
Mon, 29 Mar 2021 23:25:06 +0000 (00:25 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Tue, 30 Mar 2021 05:29:09 +0000 (07:29 +0200)
commitef19e111337f6c3dca7019a8bad5fbc6fb18d635
treeed66acf6cb063355d48ae1b6203d6ce569c2a7d9
parentc7dbf4c08868d9db89b8bfe8f8245ca61b01ed2f
xfrm/compat: Cleanup WARN()s that can be user-triggered

Replace WARN_ONCE() that can be triggered from userspace with
pr_warn_once(). Those still give user a hint what's the issue.

I've left WARN()s that are not possible to trigger with current
code-base and that would mean that the code has issues:
- relying on current compat_msg_min[type] <= xfrm_msg_min[type]
- expected 4-byte padding size difference between
  compat_msg_min[type] and xfrm_msg_min[type]
- compat_policy[type].len <= xfrma_policy[type].len
(for every type)

Reported-by: syzbot+834ffd1afc7212eb8147@syzkaller.appspotmail.com
Fixes: 5f3eea6b7e8f ("xfrm/compat: Attach xfrm dumps to 64=>32 bit translator")
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Cc: netdev@vger.kernel.org
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Safonov <dima@arista.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_compat.c