summaryrefslogtreecommitdiffstats
path: root/drivers/net/mlx4/mcg.c
diff options
context:
space:
mode:
authorMariusz Kozlowski <mk@lab.zgora.pl>2011-04-04 07:04:01 +0200
committerDavid S. Miller <davem@davemloft.net>2011-04-04 07:04:01 +0200
commita14b289d4614bb3b25d0455d68f72f3c7b4cc8e8 (patch)
treee7feb055039bf9040dff0fd662e4685d8a302def /drivers/net/mlx4/mcg.c
parenttcp: len check is unnecessarily devastating, change to WARN_ON (diff)
downloadlinux-a14b289d4614bb3b25d0455d68f72f3c7b4cc8e8.tar.xz
linux-a14b289d4614bb3b25d0455d68f72f3c7b4cc8e8.zip
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>
Diffstat (limited to '')
-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 37150b2f6425..c6d336aed2d9 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);