aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMariusz Kozlowski <mk@lab.zgora.pl>2011-04-03 22:04:01 -0700
committerDavid S. Miller <davem@davemloft.net>2011-04-03 22:04:01 -0700
commita14b289d4614bb3b25d0455d68f72f3c7b4cc8e8 (patch)
treee7feb055039bf9040dff0fd662e4685d8a302def
parent2fceec13375e5d98ef033c6b0ee03943fc460950 (diff)
downloadkernel_samsung_crespo-a14b289d4614bb3b25d0455d68f72f3c7b4cc8e8.zip
kernel_samsung_crespo-a14b289d4614bb3b25d0455d68f72f3c7b4cc8e8.tar.gz
kernel_samsung_crespo-a14b289d4614bb3b25d0455d68f72f3c7b4cc8e8.tar.bz2
mlx4: fix kfree on error path in new_steering_entry()
On error path kfree() should get pointer to memory allocated by kmalloc() not the address of variable holding it (which is on stack). Signed-off-by: Mariusz Kozlowski <mk@lab.zgora.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/mlx4/mcg.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/mlx4/mcg.c b/drivers/net/mlx4/mcg.c
index 37150b2..c6d336a 100644
--- a/drivers/net/mlx4/mcg.c
+++ b/drivers/net/mlx4/mcg.c
@@ -111,7 +111,7 @@ static int new_steering_entry(struct mlx4_dev *dev, u8 vep_num, u8 port,
u32 members_count;
struct mlx4_steer_index *new_entry;
struct mlx4_promisc_qp *pqp;
- struct mlx4_promisc_qp *dqp;
+ struct mlx4_promisc_qp *dqp = NULL;
u32 prot;
int err;
u8 pf_num;
@@ -184,7 +184,7 @@ out_mailbox:
out_alloc:
if (dqp) {
list_del(&dqp->list);
- kfree(&dqp);
+ kfree(dqp);
}
list_del(&new_entry->list);
kfree(new_entry);