提交 7ad4d2f6 编写于 作者: J Jayachandran C 提交者: David S. Miller

[BRIDGE] ebtables: fix allocation in net/bridge/netfilter/ebtables.c

Allocate an array of 'struct ebt_chainstack *', the current code allocates
array of 'struct ebt_chainstack'.

akpm: converted to use the

	foo = alloc(sizeof(*foo))

form.  Which would have prevented this from happening in the first place.

akpm: also removed unneeded typecast.

akpm: what on earth is this code doing anyway?  cpu_possible_map can be
sparse..
Signed-off-by: NJayachandran C. <c.jayachandran@gmail.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 b8282dcf
......@@ -824,9 +824,9 @@ static int translate_table(struct ebt_replace *repl,
if (udc_cnt) {
/* this will get free'd in do_replace()/ebt_register_table()
if an error occurs */
newinfo->chainstack = (struct ebt_chainstack **)
vmalloc((highest_possible_processor_id()+1)
* sizeof(struct ebt_chainstack));
newinfo->chainstack =
vmalloc((highest_possible_processor_id()+1)
* sizeof(*(newinfo->chainstack)));
if (!newinfo->chainstack)
return -ENOMEM;
for_each_possible_cpu(i) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册