Skip to content
Snippets Groups Projects
  1. Jan 24, 2024
  2. Jan 21, 2024
  3. Jan 18, 2024
  4. Jan 17, 2024
    • Eric Dumazet's avatar
      nbd: always initialize struct msghdr completely · 78fbb92a
      Eric Dumazet authored
      
      syzbot complains that msg->msg_get_inq value can be uninitialized [1]
      
      struct msghdr got many new fields recently, we should always make
      sure their values is zero by default.
      
      [1]
       BUG: KMSAN: uninit-value in tcp_recvmsg+0x686/0xac0 net/ipv4/tcp.c:2571
        tcp_recvmsg+0x686/0xac0 net/ipv4/tcp.c:2571
        inet_recvmsg+0x131/0x580 net/ipv4/af_inet.c:879
        sock_recvmsg_nosec net/socket.c:1044 [inline]
        sock_recvmsg+0x12b/0x1e0 net/socket.c:1066
        __sock_xmit+0x236/0x5c0 drivers/block/nbd.c:538
        nbd_read_reply drivers/block/nbd.c:732 [inline]
        recv_work+0x262/0x3100 drivers/block/nbd.c:863
        process_one_work kernel/workqueue.c:2627 [inline]
        process_scheduled_works+0x104e/0x1e70 kernel/workqueue.c:2700
        worker_thread+0xf45/0x1490 kernel/workqueue.c:2781
        kthread+0x3ed/0x540 kernel/kthread.c:388
        ret_from_fork+0x66/0x80 arch/x86/kernel/process.c:147
        ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:242
      
      Local variable msg created at:
        __sock_xmit+0x4c/0x5c0 drivers/block/nbd.c:513
        nbd_read_reply drivers/block/nbd.c:732 [inline]
        recv_work+0x262/0x3100 drivers/block/nbd.c:863
      
      CPU: 1 PID: 7465 Comm: kworker/u5:1 Not tainted 6.7.0-rc7-syzkaller-00041-gf016f7547aee #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
      Workqueue: nbd5-recv recv_work
      
      Fixes: f94fd25c ("tcp: pass back data left in socket after receive")
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: stable@vger.kernel.org
      Cc: Josef Bacik <josef@toxicpanda.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: linux-block@vger.kernel.org
      Cc: nbd@other.debian.org
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Link: https://lore.kernel.org/r/20240112132657.647112-1-edumazet@google.com
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      78fbb92a
  5. Jan 15, 2024
  6. Jan 14, 2024
  7. Jan 08, 2024
  8. Jan 04, 2024
  9. Dec 29, 2023
  10. Dec 27, 2023
  11. Dec 22, 2023
    • Randy Dunlap's avatar
      drbd: actlog: fix kernel-doc warnings and spelling · 8aabc11c
      Randy Dunlap authored
      
      Fix all kernel-doc warnings in drbd_actlog.c:
      
      drbd_actlog.c:963: warning: No description found for return value of 'drbd_rs_begin_io'
      drbd_actlog.c:1015: warning: Function parameter or member 'peer_device' not described in 'drbd_try_rs_begin_io'
      drbd_actlog.c:1015: warning: Excess function parameter 'device' description in 'drbd_try_rs_begin_io'
      drbd_actlog.c:1015: warning: No description found for return value of 'drbd_try_rs_begin_io'
      drbd_actlog.c:1197: warning: No description found for return value of 'drbd_rs_del_all'
      
      Fix one spelling error (s/ore/or/).
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Philipp Reisner <philipp.reisner@linbit.com>
      Cc: Lars Ellenberg <lars.ellenberg@linbit.com>
      Cc: Christoph Böhmwalder <christoph.boehmwalder@linbit.com>
      Cc:  <drbd-dev@lists.linbit.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc:  <linux-block@vger.kernel.org>
      Link: https://lore.kernel.org/r/20231222061909.8791-1-rdunlap@infradead.org
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      8aabc11c
  12. Dec 20, 2023
  13. Dec 13, 2023
  14. Dec 12, 2023
  15. Dec 11, 2023
  16. Dec 05, 2023
  17. Dec 04, 2023
    • Stefan Hajnoczi's avatar
      virtio_blk: fix snprintf truncation compiler warning · b8e07924
      Stefan Hajnoczi authored and Michael S. Tsirkin's avatar Michael S. Tsirkin committed
      
      Commit 4e040052 ("virtio-blk: support polling I/O") triggers the
      following gcc 13 W=1 warnings:
      
      drivers/block/virtio_blk.c: In function ‘init_vq’:
      drivers/block/virtio_blk.c:1077:68: warning: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size 7 [-Wformat-truncation=]
       1077 |                 snprintf(vblk->vqs[i].name, VQ_NAME_LEN, "req_poll.%d", i);
            |                                                                    ^~
      drivers/block/virtio_blk.c:1077:58: note: directive argument in the range [-2147483648, 65534]
       1077 |                 snprintf(vblk->vqs[i].name, VQ_NAME_LEN, "req_poll.%d", i);
            |                                                          ^~~~~~~~~~~~~
      drivers/block/virtio_blk.c:1077:17: note: ‘snprintf’ output between 11 and 21 bytes into a destination of size 16
       1077 |                 snprintf(vblk->vqs[i].name, VQ_NAME_LEN, "req_poll.%d", i);
            |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      This is a false positive because the lower bound -2147483648 is
      incorrect. The true range of i is [0, num_vqs - 1] where 0 < num_vqs <
      65536.
      
      The code mixes int, unsigned short, and unsigned int types in addition
      to using "%d" for an unsigned value. Use unsigned short and "%u"
      consistently to solve the compiler warning.
      
      Cc: Suwan Kim <suwan.kim027@gmail.com>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Closes: https://lore.kernel.org/oe-kbuild-all/202312041509.DIyvEt9h-lkp@intel.com/
      
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Message-Id: <20231204140743.1487843-1-stefanha@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      b8e07924
  18. Nov 27, 2023
  19. Nov 24, 2023
  20. Nov 21, 2023
    • Li Nan's avatar
      nbd: pass nbd_sock to nbd_read_reply() instead of index · 98c598af
      Li Nan authored
      
      If a socket is processing ioctl 'NBD_SET_SOCK', config->socks might be
      krealloc in nbd_add_socket(), and a garbage request is received now, a UAF
      may occurs.
      
        T1
        nbd_ioctl
         __nbd_ioctl
          nbd_add_socket
           blk_mq_freeze_queue
      				T2
        				recv_work
        				 nbd_read_reply
        				  sock_xmit
           krealloc config->socks
      				   def config->socks
      
      Pass nbd_sock to nbd_read_reply(). And introduce a new function
      sock_xmit_recv(), which differs from sock_xmit only in the way it get
      socket.
      
      ==================================================================
      BUG: KASAN: use-after-free in sock_xmit+0x525/0x550
      Read of size 8 at addr ffff8880188ec428 by task kworker/u12:1/18779
      
      Workqueue: knbd4-recv recv_work
      Call Trace:
       __dump_stack
       dump_stack+0xbe/0xfd
       print_address_description.constprop.0+0x19/0x170
       __kasan_report.cold+0x6c/0x84
       kasan_report+0x3a/0x50
       sock_xmit+0x525/0x550
       nbd_read_reply+0xfe/0x2c0
       recv_work+0x1c2/0x750
       process_one_work+0x6b6/0xf10
       worker_thread+0xdd/0xd80
       kthread+0x30a/0x410
       ret_from_fork+0x22/0x30
      
      Allocated by task 18784:
       kasan_save_stack+0x1b/0x40
       kasan_set_track
       set_alloc_info
       __kasan_kmalloc
       __kasan_kmalloc.constprop.0+0xf0/0x130
       slab_post_alloc_hook
       slab_alloc_node
       slab_alloc
       __kmalloc_track_caller+0x157/0x550
       __do_krealloc
       krealloc+0x37/0xb0
       nbd_add_socket
       +0x2d3/0x880
       __nbd_ioctl
       nbd_ioctl+0x584/0x8e0
       __blkdev_driver_ioctl
       blkdev_ioctl+0x2a0/0x6e0
       block_ioctl+0xee/0x130
       vfs_ioctl
       __do_sys_ioctl
       __se_sys_ioctl+0x138/0x190
       do_syscall_64+0x33/0x40
       entry_SYSCALL_64_after_hwframe+0x61/0xc6
      
      Freed by task 18784:
       kasan_save_stack+0x1b/0x40
       kasan_set_track+0x1c/0x30
       kasan_set_free_info+0x20/0x40
       __kasan_slab_free.part.0+0x13f/0x1b0
       slab_free_hook
       slab_free_freelist_hook
       slab_free
       kfree+0xcb/0x6c0
       krealloc+0x56/0xb0
       nbd_add_socket+0x2d3/0x880
       __nbd_ioctl
       nbd_ioctl+0x584/0x8e0
       __blkdev_driver_ioctl
       blkdev_ioctl+0x2a0/0x6e0
       block_ioctl+0xee/0x130
       vfs_ioctl
       __do_sys_ioctl
       __se_sys_ioctl+0x138/0x190
       do_syscall_64+0x33/0x40
       entry_SYSCALL_64_after_hwframe+0x61/0xc6
      
      Signed-off-by: default avatarLi Nan <linan122@huawei.com>
      Reviewed-by: default avatarYu Kuai <yukuai3@huawei.com>
      Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
      Link: https://lore.kernel.org/r/20230911023308.3467802-1-linan666@huaweicloud.com
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      98c598af
  21. Nov 20, 2023
  22. Nov 07, 2023
  23. Nov 01, 2023
  24. Oct 28, 2023
Loading