[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: Jayachandran C. <c.jayachandran@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b8282dcf04
commit
7ad4d2f690
|
@ -824,9 +824,9 @@ static int translate_table(struct ebt_replace *repl,
|
||||||
if (udc_cnt) {
|
if (udc_cnt) {
|
||||||
/* this will get free'd in do_replace()/ebt_register_table()
|
/* this will get free'd in do_replace()/ebt_register_table()
|
||||||
if an error occurs */
|
if an error occurs */
|
||||||
newinfo->chainstack = (struct ebt_chainstack **)
|
newinfo->chainstack =
|
||||||
vmalloc((highest_possible_processor_id()+1)
|
vmalloc((highest_possible_processor_id()+1)
|
||||||
* sizeof(struct ebt_chainstack));
|
* sizeof(*(newinfo->chainstack)));
|
||||||
if (!newinfo->chainstack)
|
if (!newinfo->chainstack)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
for_each_possible_cpu(i) {
|
for_each_possible_cpu(i) {
|
||||||
|
|
Loading…
Reference in a new issue