1. 24 Apr, 2018 37 commits
  2. 23 Apr, 2018 3 commits
    • David S. Miller's avatar
      Merge branch 'ipv6-couple-of-fixes-for-rcu-change-to-from' · f7c3b12c
      David S. Miller authored
      David Ahern says:
      
      ====================
      net/ipv6: couple of fixes for rcu change to from
      
      So many details... I am thankful for all the robots running the
      permutations and tools.
      
      Two bug fixes from the rcu change to rt->from:
      1. missing rcu lock in ip6_negative_advice
      2. rcu dereferences in 2 sites
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f7c3b12c
    • David Ahern's avatar
      net/ipv6: Fix missing rcu dereferences on from · 8a14e46f
      David Ahern authored
      kbuild test robot reported 2 uses of rt->from not properly accessed
      using rcu_dereference:
      1. add rcu_dereference_protected to rt6_remove_exception_rt and make
         sure it is always called with rcu lock held.
      
      2. change rt6_do_redirect to take a reference on 'from' when accessed
         the first time so it can be used the sceond time outside of the lock
      
      Fixes: a68886a6 ("net/ipv6: Make from in rt6_info rcu protected")
      Reported-by: default avatarkbuild test robot <lkp@intel.com>
      Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8a14e46f
    • David Ahern's avatar
      net/ipv6: add rcu locking to ip6_negative_advice · c3c14da0
      David Ahern authored
      syzbot reported a suspicious rcu_dereference_check:
        __dump_stack lib/dump_stack.c:77 [inline]
        dump_stack+0x1b9/0x294 lib/dump_stack.c:113
        lockdep_rcu_suspicious+0x14a/0x153 kernel/locking/lockdep.c:4592
        rt6_check_expired+0x38b/0x3e0 net/ipv6/route.c:410
        ip6_negative_advice+0x67/0xc0 net/ipv6/route.c:2204
        dst_negative_advice include/net/sock.h:1786 [inline]
        sock_setsockopt+0x138f/0x1fe0 net/core/sock.c:1051
        __sys_setsockopt+0x2df/0x390 net/socket.c:1899
        SYSC_setsockopt net/socket.c:1914 [inline]
        SyS_setsockopt+0x34/0x50 net/socket.c:1911
      
      Add rcu locking around call to rt6_check_expired in
      ip6_negative_advice.
      
      Fixes: a68886a6 ("net/ipv6: Make from in rt6_info rcu protected")
      Reported-by: syzbot+2422c9e35796659d2273@syzkaller.appspotmail.com
      Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c3c14da0