Skip to content
  • Phil Sutter's avatar
    net/ipv6: update flowi6_oif in ip6_dst_lookup_flow if not set · a0a9f33b
    Phil Sutter authored
    
    
    Newly created flows don't have flowi6_oif set (at least if the
    associated socket is not interface-bound). This leads to a mismatch in
    __xfrm6_selector_match() for policies which specify an interface in the
    selector (sel->ifindex != 0).
    
    Backtracing shows this happens in code-paths originating from e.g.
    ip6_datagram_connect(), rawv6_sendmsg() or tcp_v6_connect(). (UDP was
    not tested for.)
    
    In summary, this patch fixes policy matching on outgoing interface for
    locally generated packets.
    
    Signed-off-by: default avatarPhil Sutter <phil@nwl.cc>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a0a9f33b