[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:
Родитель
b8282dcf04
Коммит
7ad4d2f690
|
@ -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) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче