]> git.baikalelectronics.ru Git - kernel.git/commit
xfrm: Make set-mark default behavior backward compatible
authorBenedict Wong <benedictwong@google.com>
Mon, 14 Jan 2019 19:24:38 +0000 (11:24 -0800)
committerSteffen Klassert <steffen.klassert@secunet.com>
Wed, 16 Jan 2019 12:10:55 +0000 (13:10 +0100)
commit1bf32e9fdc5b13c05a7ae8f1470059938f1eb1d8
tree24d472c27fda2886de4cb24fdc66ef4322aca808
parent48a43af232b3f1b90ee6a6eea79e731ece120bd8
xfrm: Make set-mark default behavior backward compatible

Fixes 8088a63cecf0, which changed the default route lookup behavior for
tunnel mode SAs in the outbound direction to use the skb mark, whereas
previously mark=0 was used if the output mark was unspecified. In
mark-based routing schemes such as Android’s, this change in default
behavior causes routing loops or lookup failures.

This patch restores the default behavior of using a 0 mark while still
incorporating the skb mark if the SET_MARK (and SET_MARK_MASK) is
specified.

Tested with additions to Android's kernel unit test suite:
https://android-review.googlesource.com/c/kernel/tests/+/860150

Fixes: 8088a63cecf0 ("xfrm: Extend the output_mark to support input direction and masking")
Signed-off-by: Benedict Wong <benedictwong@google.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_policy.c