]> git.baikalelectronics.ru Git - kernel.git/commit
xfrm: fix freed block size calculation in xfrm_policy_fini()
authorMichal Kubecek <mkubecek@suse.cz>
Fri, 18 Jan 2013 15:03:48 +0000 (16:03 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Mon, 21 Jan 2013 05:50:04 +0000 (06:50 +0100)
commite93f0dabdd59ed80af2aa51dff736679da3c8bc8
tree42b84b0a9cd9413e1335eb8925594ce60e9cae88
parentd65b91be1edff5bc6cfded057bf70270048c1281
xfrm: fix freed block size calculation in xfrm_policy_fini()

Missing multiplication of block size by sizeof(struct hlist_head)
can cause xfrm_hash_free() to be called with wrong second argument
so that kfree() is called on a block allocated with vzalloc() or
__get_free_pages() or free_pages() is called with wrong order when
a namespace with enough policies is removed.

Bug introduced by commit 3abe83d1, i.e. versions >= 2.6.29 are
affected.

Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_policy.c