diff options
author | Steve Wise <swise@opengridcomputing.com> | 2014-03-21 20:40:30 +0530 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2014-03-24 10:07:35 -0700 |
commit | dbb084cc5f52152f53b5fd22fa76b9bf69904594 (patch) | |
tree | 20928f5ac5faefb57b29d4cd0e7d0301ffa5e3a0 /drivers/infiniband | |
parent | eda6d1d1b7932f90d55583f8f3835dd7d6b32543 (diff) |
RDMA/cxgb4: Don't leak skb in c4iw_uld_rx_handler()
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/cxgb4/device.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/cxgb4/device.c b/drivers/infiniband/hw/cxgb4/device.c index 4a033853312e..982f81586f90 100644 --- a/drivers/infiniband/hw/cxgb4/device.c +++ b/drivers/infiniband/hw/cxgb4/device.c @@ -897,11 +897,13 @@ static int c4iw_uld_rx_handler(void *handle, const __be64 *rsp, } opcode = *(u8 *)rsp; - if (c4iw_handlers[opcode]) + if (c4iw_handlers[opcode]) { c4iw_handlers[opcode](dev, skb); - else + } else { pr_info("%s no handler opcode 0x%x...\n", __func__, opcode); + kfree_skb(skb); + } return 0; nomem: |