]> git.baikalelectronics.ru Git - kernel.git/commit
bonding: fix event handling for stacked bonds
authorSabrina Dubroca <sd@queasysnail.net>
Fri, 12 Apr 2019 13:04:10 +0000 (15:04 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 15 Apr 2019 20:22:09 +0000 (13:22 -0700)
commitb17f8d208fe32874ae145ab5e6c22e2aa40c7f24
tree3fc0c1fc92ed516b9d1b2fc04d8a733730b1348e
parentefa484806a75c5b5fa0058fd494164bfc7bc1e3f
bonding: fix event handling for stacked bonds

When a bond is enslaved to another bond, bond_netdev_event() only
handles the event as if the bond is a master, and skips treating the
bond as a slave.

This leads to a refcount leak on the slave, since we don't remove the
adjacency to its master and the master holds a reference on the slave.

Reproducer:
  ip link add bondL type bond
  ip link add bondU type bond
  ip link set bondL master bondU
  ip link del bondL

No "Fixes:" tag, this code is older than git history.

Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c