]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitdf1f762f0df943f61c7874228226cc32b73279f0
treeed66acf6cb063355d48ae1b6203d6ce569c2a7d9
parent5daddddedb3651f45bb36fc6b323c7c1c9bd4cd0
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: 6b2da1ef586e ("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