]> 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)
commit73442e1d9940dbc0cde3a728172485a5f30f0f06
tree9a19318c08a4c63c3cf8d7183397293ea6c37486
parentda8eaa4f6a57d148108b8256d0f63fe384d96b31
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: 5202cccd7bb3 ("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