diff options
| author | Xiaotian Feng <dfeng@redhat.com> | 2009-07-23 19:06:32 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-07-26 22:20:51 -0400 |
| commit | c587aea951a56d29741a3cef4ea3e142c93b3207 (patch) | |
| tree | 39045309a2d2ce8fe51bca6d08588cf97e0ee27c | |
| parent | 4a29f396429132dc59f1856ea6cfc860a1955fa1 (diff) | |
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>
| -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) | |||
| 424 | err2: | 424 | err2: |
| 425 | br_fdb_delete_by_port(br, p, 1); | 425 | br_fdb_delete_by_port(br, p, 1); |
| 426 | err1: | 426 | err1: |
| 427 | kobject_del(&p->kobj); | 427 | kobject_put(&p->kobj); |
| 428 | err0: | 428 | err0: |
| 429 | dev_set_promiscuity(dev, -1); | 429 | dev_set_promiscuity(dev, -1); |
| 430 | put_back: | 430 | put_back: |
