[SRU][Bionic/Cosmic/Unstable][PATCH 0/1] Fix regression in 'ip --family bridge neigh' since Linux v4.12
Mauricio Faria de Oliveira
mfo at canonical.com
Mon Oct 8 20:07:28 UTC 2018
BugLink: https://bugs.launchpad.net/bugs/1796748
[Impact]
* Netlink RTM_GETNEIGH requests for PF_BRIDGE are broken since linux v4.12.
* Users, tools (e.g., iproute2), and libraries (e.g., go netlink) that use
such request/family currently receive nothing back in the kernel response.
* The upstream fix resolves the breakage in the userspace-kernel interface
by explicitly checking for the old/broken request to ensure it's replied.
[Test Case]
* The command 'ip --family bridge neigh' returns nothing on broken kernels,
and matches 'bridge fdb show' on fixed kernels.
* Before:
$ ip --family bridge neigh
$
* After:
$ ip --family bridge neigh
dev ens3 lladdr 33:33:00:00:00:01 PERMANENT
dev ens3 lladdr 01:00:5e:00:00:01 PERMANENT
dev ens3 lladdr 33:33:ff:e9:9d:60 PERMANENT
* Reference:
$ bridge fdb show
33:33:00:00:00:01 dev ens3 self permanent
01:00:5e:00:00:01 dev ens3 self permanent
33:33:ff:e9:9d:60 dev ens3 self permanent
[Regression Potential]
* Low, for three reasons:
* The fix is fairly contained (RTM_GETNEIGH request for PF_BRIDGE family).
* The checks introduced by the fix are conservative, based on the size
of the old request (the size of the old/new requests are different),
and it does nothing different in case the (old) size doesn't match.
* Given the above, only applications with message length and contents
specially hand-crafted (and likely not valid nor useful) might fail.
To the best of my knowledge, this is not the common case out there.
[Other Info]
* The patch is only applicable to v4.12+ (so not Trusty nor Xenial).
* The patch is the same for Bionic, Cosmic, and unstable.
* Upstream commit: bd961c9bc664 ("rtnetlink: fix rtnl_fdb_dump() for
ndmsg header")
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bd961c9bc66497f0c63f4ba1d02900bb85078366
Mauricio Faria de Oliveira (1):
rtnetlink: fix rtnl_fdb_dump() for ndmsg header
net/core/rtnetlink.c | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
--
2.17.1
More information about the kernel-team
mailing list