Re: WARNING: kobject bug in br_add_if

From: Nikolay Aleksandrov
Date: Thu Apr 26 2018 - 07:51:34 EST


On 26/04/18 14:49, Nikolay Aleksandrov wrote:
On 26/04/18 13:37, Hangbin Liu wrote:
On Thu, Apr 26, 2018 at 10:04:16AM +0200, Dmitry Vyukov wrote:
On Thu, Apr 26, 2018 at 8:13 AM, Hangbin Liu <liuhangbin@xxxxxxxxx> wrote:
On Wed, Apr 11, 2018 at 05:18:23PM +0200, Dmitry Vyukov wrote:
On Wed, Apr 11, 2018 at 5:15 PM, syzbot
<syzbot+de73361ee4971b6e6f75@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
kobject_add_internal failed for brport (error: -12 parent: bond0)
[snip]

Re-checked the error. This is a -ENOMEM. So normally we could ignore it.

But on the other hand, although we could find out the slave iface's
master in netdev_master_upper_dev_link(). It already go much further
and allocate some resource and change iface state. e.g.

[54273.968516] br0: port 1(em1) entered blocking state
[54273.973979] br0: port 1(em1) entered disabled state

So I think we'd better return as early as possible. I will post a fix
for this.

Thanks
Hangbin

If I'm not mistaken the bridge allocated resources for the port are
cleaned on kobject_init_and_add() error return. Or are you talking
about some other resources ?


Ah, my bad - you weren't talking about resource freeing.
Nevermind my comment.