• Benedict Wong's avatar
    xfrm: Treat already-verified secpath entries as optional · 1f8b6df6
    Benedict Wong authored
    This change allows inbound traffic through nested IPsec tunnels to
    successfully match policies and templates, while retaining the secpath
    stack trace as necessary for netfilter policies.
    
    Specifically, this patch marks secpath entries that have already matched
    against a relevant policy as having been verified, allowing it to be
    treated as optional and skipped after a tunnel decapsulation (during
    which the src/dst/proto/etc may have changed, and the correct policy
    chain no long be resolvable).
    
    This approach is taken as opposed to the iteration in b0355dbb,
    where the secpath was cleared, since that breaks subsequent validations
    that rely on the existence of the secpath entries (netfilter policies, or
    transport-in-tunnel mode, where policies remain resolvable).
    
    Fixes: b0355dbb ("Fix XFRM-I support for nested ESP tunnels")
    Test: Tested against Android Kernel Unit Tests
    Test: Tested against Android CTS
    Signed-off-by: default avatarBenedict Wong <benedictwong@google.com>
    Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
    1f8b6df6
xfrm.h 57.9 KB