[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1465157636-10120-1-git-send-email-sudipm.mukherjee@gmail.com>
Date: Sun, 5 Jun 2016 21:13:55 +0100
From: Sudip Mukherjee <sudipm.mukherjee@...il.com>
To: Doug Ledford <dledford@...hat.com>,
Sean Hefty <sean.hefty@...el.com>,
Hal Rosenstock <hal.rosenstock@...il.com>
Cc: linux-kernel@...r.kernel.org, linux-rdma@...r.kernel.org,
Sudip Mukherjee <sudipm.mukherjee@...il.com>
Subject: [PATCH 1/2] IB/sysfs: fix NULL dereference
If stats->names is NULL or stats->num_counters <= 0 we are jumping to
the error path where the for loop is freeing hsag->attrs[i]. But as i
is initialized to 0 so i >= 0 will be true and the loop will execute
once trying to free hsag->attrs[0]. But hsag is NULL still now leading
to a NULL pointer dereference.
Signed-off-by: Sudip Mukherjee <sudip.mukherjee@...ethink.co.uk>
---
drivers/infiniband/core/sysfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c
index 5e573bb..fcf6f9c 100644
--- a/drivers/infiniband/core/sysfs.c
+++ b/drivers/infiniband/core/sysfs.c
@@ -891,7 +891,7 @@ static void setup_hw_stats(struct ib_device *device, struct ib_port *port,
{
struct attribute_group *hsag = NULL;
struct rdma_hw_stats *stats;
- int i = 0, ret;
+ int i = -1, ret;
stats = device->alloc_hw_stats(device, port_num);
--
1.9.1
Powered by blists - more mailing lists