diff options
author | Xiaotian Feng <dfeng@redhat.com> | 2009-07-23 23:06:32 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-07-26 19:20:51 -0700 |
commit | c587aea951a56d29741a3cef4ea3e142c93b3207 (patch) | |
tree | 39045309a2d2ce8fe51bca6d08588cf97e0ee27c /net/bridge/br_if.c | |
parent | 4a29f396429132dc59f1856ea6cfc860a1955fa1 (diff) | |
download | linux-stable-c587aea951a56d29741a3cef4ea3e142c93b3207.tar.gz linux-stable-c587aea951a56d29741a3cef4ea3e142c93b3207.tar.bz2 linux-stable-c587aea951a56d29741a3cef4ea3e142c93b3207.zip |
net/bridge: use kobject_put to release kobject in br_add_if error path
kobject_init_and_add will alloc memory for kobj->name, so in br_add_if
error path, simply use kobject_del will not free memory for kobj->name.
Fix by using kobject_put instead, kobject_put will internally calls
kobject_del and frees memory for kobj->name.
Signed-off-by: Xiaotian Feng <dfeng@redhat.com>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_if.c')
-rw-r--r-- | net/bridge/br_if.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index 8a96672e2c5c..eb404dc3ed6e 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c @@ -424,7 +424,7 @@ int br_add_if(struct net_bridge *br, struct net_device *dev) err2: br_fdb_delete_by_port(br, p, 1); err1: - kobject_del(&p->kobj); + kobject_put(&p->kobj); err0: dev_set_promiscuity(dev, -1); put_back: |