]> git.baikalelectronics.ru Git - kernel.git/commit
[IPV4]: OOPS with NETLINK_FIB_LOOKUP netlink socket
authorDenis V. Lunev <den@openvz.org>
Fri, 21 Dec 2007 10:01:53 +0000 (02:01 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 21 Dec 2007 10:01:53 +0000 (02:01 -0800)
commit5e0cac745da38356987b5e8fcb6ccd631a874856
treed016dc1959372baa50e6d64f76ff14bbe3c8927b
parente204aa5c95bbd338665033d2bff350f2b7925f8b
[IPV4]: OOPS with NETLINK_FIB_LOOKUP netlink socket

[ Regression added by changeset:
153cbc11b7536abcba1770c3abe0fd2306c51103
[NET]: make netlink user -> kernel interface synchronious
  -DaveM ]

nl_fib_input re-reuses incoming skb to send the reply. This means that this
packet will be freed twice, namely in:
- netlink_unicast_kernel
- on receive path
Use clone to send as a cure, the caller is responsible for kfree_skb on error.

Thanks to Alexey Dobryan, who originally found the problem.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/fib_frontend.c