Skip to content

Commit

Permalink
[NETFILTER]: nfnetlink_log: fix instance_create() failure path
Browse files Browse the repository at this point in the history
Fix memory leak on instance_create() while module is being unloaded.

Signed-off-by: Michal Miroslaw <mirq-linux@rere.qmqm.pl>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Michal Miroslaw authored and David S. Miller committed Oct 10, 2007
1 parent c6a8f64 commit aace57e
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions net/netfilter/nfnetlink_log.c
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,11 @@ instance_create(u_int16_t group_num, int pid)
if (!inst)
goto out_unlock;

if (!try_module_get(THIS_MODULE)) {
kfree(inst);
goto out_unlock;
}

INIT_HLIST_NODE(&inst->hlist);
spin_lock_init(&inst->lock);
/* needs to be two, since we _put() after creation */
Expand All @@ -168,9 +173,6 @@ instance_create(u_int16_t group_num, int pid)
inst->copy_mode = NFULNL_COPY_PACKET;
inst->copy_range = 0xffff;

if (!try_module_get(THIS_MODULE))
goto out_free;

hlist_add_head(&inst->hlist,
&instance_table[instance_hashfn(group_num)]);

Expand All @@ -181,8 +183,6 @@ instance_create(u_int16_t group_num, int pid)

return inst;

out_free:
instance_put(inst);
out_unlock:
write_unlock_bh(&instances_lock);
return NULL;
Expand Down

0 comments on commit aace57e

Please sign in to comment.