Pablo Neira Ayuso ee92118355 netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS
Frontend callback reports EAGAIN to nfnetlink to retry a command, this
is used to signal that module autoloading is required. Unfortunately,
nlmsg_unicast() reports EAGAIN in case the receiver socket buffer gets
full, so it enters a busy-loop.

This patch updates nfnetlink_unicast() to turn EAGAIN into ENOBUFS and
to use nlmsg_unicast(). Remove the flags field in nfnetlink_unicast()
since this is always MSG_DONTWAIT in the existing code which is exactly
what nlmsg_unicast() passes to netlink_unicast() as parameter.

Fixes: 96518518cc41 ("netfilter: add nftables")
Reported-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2020-08-28 20:11:58 +02:00
..
2020-08-15 08:34:36 -07:00
2020-08-25 07:50:25 -07:00
2020-08-27 07:55:59 -07:00
2020-06-23 20:27:09 -07:00
2019-09-26 08:56:17 +02:00
2020-08-28 20:11:38 +02:00
2020-08-27 07:55:59 -07:00
2020-08-15 08:26:55 -07:00
2020-07-13 17:20:40 -07:00
2020-08-11 10:20:34 -07:00
2020-08-10 19:07:44 -07:00
2020-08-27 07:55:59 -07:00