• 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
route.c 130 KB