Commit 51807e91 authored by Alexey Dobriyan's avatar Alexey Dobriyan Committed by David S. Miller

netfilter: nf_conntrack_gre: nf_ct_gre_keymap_flush() fixlet

It does "kfree(list_head)" which looks wrong because entity that was
allocated is definitely not list_head.

However, this all works because list_head is first item in
struct nf_ct_gre_keymap.
Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 887464a4
...@@ -45,12 +45,12 @@ static LIST_HEAD(gre_keymap_list); ...@@ -45,12 +45,12 @@ static LIST_HEAD(gre_keymap_list);
void nf_ct_gre_keymap_flush(void) void nf_ct_gre_keymap_flush(void)
{ {
struct list_head *pos, *n; struct nf_ct_gre_keymap *km, *tmp;
write_lock_bh(&nf_ct_gre_lock); write_lock_bh(&nf_ct_gre_lock);
list_for_each_safe(pos, n, &gre_keymap_list) { list_for_each_entry_safe(km, tmp, &gre_keymap_list, list) {
list_del(pos); list_del(&km->list);
kfree(pos); kfree(km);
} }
write_unlock_bh(&nf_ct_gre_lock); write_unlock_bh(&nf_ct_gre_lock);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment