Skip to content

Commit a068aab

Browse files
QiushiWudavem330
authored andcommitted
bonding: Fix reference count leak in bond_sysfs_slave_add.
kobject_init_and_add() takes reference even when it fails. If this function returns an error, kobject_put() must be called to properly clean up the memory associated with the object. Previous commit "b8eb718348b8" fixed a similar problem. Fixes: 07699f9 ("bonding: add sysfs /slave dir for bond slave devices.") Signed-off-by: Qiushi Wu <[email protected]> Acked-by: Jay Vosburgh <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 2200313 commit a068aab

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

drivers/net/bonding/bond_sysfs_slave.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,10 @@ int bond_sysfs_slave_add(struct slave *slave)
149149

150150
err = kobject_init_and_add(&slave->kobj, &slave_ktype,
151151
&(slave->dev->dev.kobj), "bonding_slave");
152-
if (err)
152+
if (err) {
153+
kobject_put(&slave->kobj);
153154
return err;
155+
}
154156

155157
for (a = slave_attrs; *a; ++a) {
156158
err = sysfs_create_file(&slave->kobj, &((*a)->attr));

0 commit comments

Comments
 (0)