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