Re: [PATCH] vduse: avoid empty string for dev name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 30, 2023 at 11:37 AM Sheng Zhao <sheng.zhao@xxxxxxxxxxxxx> wrote:
>
> Syzkaller hits a kernel WARN when the first character of the dev name
> provided is NULL. Solution is to add a NULL check before calling
> cdev_device_add() in vduse_create_dev().
>
> kobject: (0000000072042169): attempted to be registered with empty name!
> WARNING: CPU: 0 PID: 112695 at lib/kobject.c:236
> Call Trace:
>  kobject_add_varg linux/src/lib/kobject.c:390 [inline]
>  kobject_add+0xf6/0x150 linux/src/lib/kobject.c:442
>  device_add+0x28f/0xc20 linux/src/drivers/base/core.c:2167
>  cdev_device_add+0x83/0xc0 linux/src/fs/char_dev.c:546
>  vduse_create_dev linux/src/drivers/vdpa/vdpa_user/vduse_dev.c:2254 [inline]
>  vduse_ioctl+0x7b5/0xf30 linux/src/drivers/vdpa/vdpa_user/vduse_dev.c:2316
>  vfs_ioctl linux/src/fs/ioctl.c:47 [inline]
>  file_ioctl linux/src/fs/ioctl.c:510 [inline]
>  do_vfs_ioctl+0x14b/0xa80 linux/src/fs/ioctl.c:697
>  ksys_ioctl+0x7c/0xa0 linux/src/fs/ioctl.c:714
>  __do_sys_ioctl linux/src/fs/ioctl.c:721 [inline]
>  __se_sys_ioctl linux/src/fs/ioctl.c:719 [inline]
>  __x64_sys_ioctl+0x42/0x50 linux/src/fs/ioctl.c:719
>  do_syscall_64+0x94/0x330 linux/src/arch/x86/entry/common.c:291
>  entry_SYSCALL_64_after_hwframe+0x44/0xa9
>
> Reported-by: Xianjun Zeng <zengxianjun@xxxxxxxxxxxxx>
> Signed-off-by: Sheng Zhao <sheng.zhao@xxxxxxxxxxxxx>

Acked-by: Jason Wang <jasowang@xxxxxxxxxx>

Thanks

> ---
>  drivers/vdpa/vdpa_user/vduse_dev.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/vdpa/vdpa_user/vduse_dev.c b/drivers/vdpa/vdpa_user/vduse_dev.c
> index de97e38c3b82..5f5c21674fdc 100644
> --- a/drivers/vdpa/vdpa_user/vduse_dev.c
> +++ b/drivers/vdpa/vdpa_user/vduse_dev.c
> @@ -1685,6 +1685,9 @@ static bool vduse_validate_config(struct vduse_dev_config *config)
>         if (config->vq_num > 0xffff)
>                 return false;
>
> +       if (!config->name[0])
> +               return false;
> +
>         if (!device_is_allowed(config->device_id))
>                 return false;
>
> --
> 2.20.1
>

_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization




[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux