net: ndo_fdb_dump should report -EMSGSIZE to rtnl_fdb_dump.
authorMINOURA Makoto / 箕浦 真 <minoura@valinux.co.jp>
Thu, 25 Feb 2016 05:20:48 +0000 (14:20 +0900)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 Feb 2016 20:04:02 +0000 (15:04 -0500)
commit472681d57a5dde7c6d16b05469be57f1c4ed9d99
tree2163ac3883c3c89c2a77abc356139edac189d966
parent4c0b6eaf373a5323f03a3a20c42fc435715b073d
net: ndo_fdb_dump should report -EMSGSIZE to rtnl_fdb_dump.

When the send skbuff reaches the end, nlmsg_put and friends returns
-EMSGSIZE but it is silently thrown away in ndo_fdb_dump. It is called
within a for_each_netdev loop and the first fdb entry of a following
netdev could fit in the remaining skbuff.  This breaks the mechanism
of cb->args[0] and idx to keep track of the entries that are already
dumped, which results missing entries in bridge fdb show command.

Signed-off-by: Minoura Makoto <minoura@valinux.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxlan.c
net/bridge/br_fdb.c
net/core/rtnetlink.c
net/switchdev/switchdev.c