Commit 43af8532ecd74a61f9e7aeb27c026c1ee27915ca

Authored by Volodymyr G Lukiianyk
Committed by David S. Miller
1 parent 9a732ed6d0

bridge: fix error handling in br_add_if()

When device is added to bridge its refcnt is incremented (in new_nbp()), but if
error occurs during further br_add_if() operations this counter is not
decremented back. Fix it by adding dev_put() call in the error path.

Signed-off-by: Volodymyr G Lukiianyk <volodymyrgl@gmail.com>
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 1 changed file with 4 additions and 1 deletions Side-by-side Diff

... ... @@ -411,9 +411,12 @@
411 411 br_fdb_delete_by_port(br, p, 1);
412 412 err1:
413 413 kobject_del(&p->kobj);
414   - return err;
  414 + goto put_back;
415 415 err0:
416 416 kobject_put(&p->kobj);
  417 +
  418 +put_back:
  419 + dev_put(dev);
417 420 return err;
418 421 }
419 422