• Eric Dumazet's avatar
    netlink: annotate data-races around sk->sk_err · d0f95894
    Eric Dumazet authored
    syzbot caught another data-race in netlink when
    setting sk->sk_err.
    
    Annotate all of them for good measure.
    
    BUG: KCSAN: data-race in netlink_recvmsg / netlink_recvmsg
    
    write to 0xffff8881613bb220 of 4 bytes by task 28147 on cpu 0:
    netlink_recvmsg+0x448/0x780 net/netlink/af_netlink.c:1994
    sock_recvmsg_nosec net/socket.c:1027 [inline]
    sock_recvmsg net/socket.c:1049 [inline]
    __sys_recvfrom+0x1f4/0x2e0 net/socket.c:2229
    __do_sys_recvfrom net/socket.c:2247 [inline]
    __se_sys_recvfrom net/socket.c:2243 [inline]
    __x64_sys_recvfrom+0x78/0x90 net/socket.c:2243
    do_syscall_x64 arch/x86/entry/common.c:50 [inline]
    do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80
    entry_SYSCALL_64_after_hwframe+0x63/0xcd
    
    write to 0xffff8881613bb220 of 4 bytes by task 28146 on cpu 1:
    netlink_recvmsg+0x448/0x780 net/netlink/af_netlink.c:1994
    sock_recvmsg_nosec net/socket.c:1027 [inline]
    sock_recvmsg net/socket.c:1049 [inline]
    __sys_recvfrom+0x1f4/0x2e0 net/socket.c:2229
    __do_sys_recvfrom net/socket.c:2247 [inline]
    __se_sys_recvfrom net/socket.c:2243 [inline]
    __x64_sys_recvfrom+0x78/0x90 net/socket.c:2243
    do_syscall_x64 arch/x86/entry/common.c:50 [inline]
    do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80
    entry_SYSCALL_64_after_hwframe+0x63/0xcd
    
    value changed: 0x00000000 -> 0x00000016
    
    Reported by Kernel Concurrency Sanitizer on:
    CPU: 1 PID: 28146 Comm: syz-executor.0 Not tainted 6.6.0-rc3-syzkaller-00055-g9ed22ae6 #0
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/06/2023
    
    Fixes: 1da177e4 ("Linux-2.6.12-rc2")
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
    Reviewed-by: default avatarSimon Horman <horms@kernel.org>
    Link: https://lore.kernel.org/r/20231003183455.3410550-1-edumazet@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    d0f95894
af_netlink.c 69.8 KB