• David S. Miller's avatar
    Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec · d2ddf628
    David S. Miller authored
    Steffen Klassert says:
    
    ====================
    pull request (net): ipsec 2018-03-13
    
    1) Refuse to insert 32 bit userspace socket policies on 64
       bit systems like we do it for standard policies. We don't
       have a compat layer, so inserting socket policies from
       32 bit userspace will lead to a broken configuration.
    
    2) Make the policy hold queue work without the flowcache.
       Dummy bundles are not chached anymore, so we need to
       generate a new one on each lookup as long as the SAs
       are not yet in place.
    
    3) Fix the validation of the esn replay attribute. The
       The sanity check in verify_replay() is bypassed if
       the XFRM_STATE_ESN flag is not set. Fix this by doing
       the sanity check uncoditionally.
       From Florian Westphal.
    
    4) After most of the dst_entry garbage collection code
       is removed, we may leak xfrm_dst entries as they are
       neither cached nor tracked somewhere. Fix this by
       reusing the 'uncached_list' to track xfrm_dst entries
       too. From Xin Long.
    
    5) Fix a rcu_read_lock/rcu_read_unlock imbalance in
       xfrm_get_tos() From Xin Long.
    
    6) Fix an infinite loop in xfrm_get_dst_nexthop. On
       transport mode we fetch the child dst_entry after
       we continue, so this pointer is never updated.
       Fix this by fetching it before we continue.
    
    7) Fix ESN sequence number gap after IPsec GSO packets.
        We accidentally increment the sequence number counter
        on the xfrm_state by one packet too much in the ESN
        case. Fix this by setting the sequence number to the
        correct value.
    
    8) Reset the ethernet protocol after decapsulation only if a
       mac header was set. Otherwise it breaks configurations
       with TUN devices. From Yossi Kuperman.
    
    9) Fix __this_cpu_read() usage in preemptible code. Use
       this_cpu_read() instead in ipcomp_alloc_tfms().
       From Greg Hackmann.
    
    Please pull or let me know if there are problems.
    ====================
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d2ddf628
route.c 76.7 KB