]> git.baikalelectronics.ru Git - kernel.git/commit
net: bridge: fix net device refcount tracking issue in error path
authorEric Dumazet <edumazet@google.com>
Wed, 12 Jan 2022 12:53:00 +0000 (04:53 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 12 Jan 2022 14:44:18 +0000 (14:44 +0000)
commit44276b2264f9f7542e09882551499a2a42c3a881
tree9a19318c08a4c63c3cf8d7183397293ea6c37486
parent0f344f95bec158ae3624f875cff08849e9cd103e
net: bridge: fix net device refcount tracking issue in error path

I left one dev_put() in br_add_if() error path and sure enough
syzbot found its way.

As the tracker is allocated in new_nbp(), we must make sure
to properly free it.

We have to call dev_put_track(dev, &p->dev_tracker) before
@p object is freed, of course. This is not an issue because
br_add_if() owns a reference on @dev.

Fixes: 90a61b032ead ("net: bridge: add net device refcount tracker")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_if.c