2011-02-11 21:45:09

by Jesper Juhl

[permalink] [raw]
Subject: [PATCH][RFC] infiniband: Fix allocation size in register_snoop_agent()

Ok, someone needs to double check me on this before merging anything, but
don't we want to allocate sizeof(struct ib_mad_snoop_private) here, rather
than just the size of a pointer to the struct?

Signed-off-by: Jesper Juhl <[email protected]>
---
mad.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

compile tested only. no hardware available for proper test.

diff --git
a/drivers/infiniband/core/mad.c
b/drivers/infiniband/core/mad.c
index 822cfdc..2c74b85 100644
--- a/drivers/infiniband/core/mad.c
+++ b/drivers/infiniband/core/mad.c
@@ -413,7 +413,7 @@ static int register_snoop_agent(struct ib_mad_qp_info *qp_info,
if (i == qp_info->snoop_table_size) {
/* Grow table. */
new_snoop_table = krealloc(qp_info->snoop_table,
- sizeof mad_snoop_priv *
+ sizeof(struct ib_mad_snoop_private) *
(qp_info->snoop_table_size + 1),
GFP_ATOMIC);
if (!new_snoop_table) {


--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Plain text mails only, please.
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html


2011-02-11 23:09:07

by Hefty, Sean

[permalink] [raw]
Subject: RE: [PATCH][RFC] infiniband: Fix allocation size in register_snoop_agent()

> Ok, someone needs to double check me on this before merging anything, but
> don't we want to allocate sizeof(struct ib_mad_snoop_private) here, rather
> than just the size of a pointer to the struct?

new_snoop_table is declared as:

struct ib_mad_snoop_private **new_snoop_table;

It should point to an array of pointers.

- Sean

2011-02-13 20:20:41

by Jesper Juhl

[permalink] [raw]
Subject: RE: [PATCH][RFC] infiniband: Fix allocation size in register_snoop_agent()

On Fri, 11 Feb 2011, Hefty, Sean wrote:

> > Ok, someone needs to double check me on this before merging anything, but
> > don't we want to allocate sizeof(struct ib_mad_snoop_private) here, rather
> > than just the size of a pointer to the struct?
>
> new_snoop_table is declared as:
>
> struct ib_mad_snoop_private **new_snoop_table;
>
> It should point to an array of pointers.
>
Ok. Thank you for that reply.
Just ignore the patch then.

--
Jesper Juhl <[email protected]> http://www.chaosbits.net/
Plain text mails only, please.
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html