From: Mark Bloch <markb@xxxxxxxxxxxx> In a attribute group struct, attrs should point to a NULL terminated list. Which means we need to allocate one more slot in the array. Fixes: b40f4757daa1 ("IB/core: Make device counter infrastructure dynamic") Signed-off-by: Mark Bloch <markb@xxxxxxxxxxxx> Signed-off-by: Leon Romanovsky <leon@xxxxxxxxxx> --- drivers/infiniband/core/sysfs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c index 5e573bb..c68f132 100644 --- a/drivers/infiniband/core/sysfs.c +++ b/drivers/infiniband/core/sysfs.c @@ -902,8 +902,11 @@ static void setup_hw_stats(struct ib_device *device, struct ib_port *port, goto err; hsag = kzalloc(sizeof(*hsag) + - // 1 extra for the lifespan config entry - sizeof(void *) * (stats->num_counters + 1), + /* 1 extra for the lifespan config entry, + * and 1 more because attrs should be + * NULL terminated. + */ + sizeof(void *) * (stats->num_counters + 2), GFP_KERNEL); if (!hsag) return; -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html