From: Michal Nazarewicz <[email protected]>
attrs field of attribute_group structure is a pointer to a pointer
(as in an array of pointers) rather than pointer to attribute
struct (as in an array of structures), so when allocating size
of the pointer sholud be used instead of the structure it is
pointing to.
While at it, also change the call to use kcalloc rather than
kzalloc.
Signed-off-by: Michal Nazarewicz <[email protected]>
---
drivers/memstick/core/mspro_block.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/memstick/core/mspro_block.c b/drivers/memstick/core/mspro_block.c
index f4176ca..fc145d2 100644
--- a/drivers/memstick/core/mspro_block.c
+++ b/drivers/memstick/core/mspro_block.c
@@ -1023,8 +1023,8 @@ static int mspro_block_read_attributes(struct memstick_dev *card)
} else
attr_count = attr->count;
- msb->attr_group.attrs = kzalloc((attr_count + 1)
- * sizeof(struct attribute),
+ msb->attr_group.attrs = kcalloc(attr_count + 1,
+ sizeof(*msb->attr_group.attrs),
GFP_KERNEL);
if (!msb->attr_group.attrs) {
rc = -ENOMEM;
--
1.8.4