]> git.baikalelectronics.ru Git - kernel.git/commit
xfrm: Generate queueing routes only from route lookup functions
authorSteffen Klassert <steffen.klassert@secunet.com>
Tue, 16 Sep 2014 08:08:49 +0000 (10:08 +0200)
committerSteffen Klassert <steffen.klassert@secunet.com>
Tue, 16 Sep 2014 08:08:49 +0000 (10:08 +0200)
commit9ad399a2a782de94004bfa194c8dae5a8a7ba2d5
tree4c5872696e7ec6221829b5ed5b26817d6ee66182
parent7ac79ace62d927f4a880deb58fa55f0b4ed79d1b
xfrm: Generate queueing routes only from route lookup functions

Currently we genarate a queueing route if we have matching policies
but can not resolve the states and the sysctl xfrm_larval_drop is
disabled. Here we assume that dst_output() is called to kill the
queued packets. Unfortunately this assumption is not true in all
cases, so it is possible that these packets leave the system unwanted.

We fix this by generating queueing routes only from the
route lookup functions, here we can guarantee a call to
dst_output() afterwards.

Fixes: 2e30dbbfeb92 ("xfrm: Add a state resolution packet queue")
Reported-by: Konstantinos Kolelis <k.kolelis@sirrix.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
include/net/dst.h
net/xfrm/xfrm_policy.c