X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Fzvol.c;h=3d829a3d413942e521832e7e6b082c6897ba98e6;hb=2c395def2763ccc7a549d297f7f11bd304caaeae;hp=6e929429252a269179a4eae150f981d3c90371f1;hpb=60101509ee73c6e61e50c0a4079097f31bb39f4b;p=zfs.git diff --git a/module/zfs/zvol.c b/module/zfs/zvol.c index 6e92942..3d829a3 100644 --- a/module/zfs/zvol.c +++ b/module/zfs/zvol.c @@ -1002,6 +1002,8 @@ static int zvol_ioctl_by_inode(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { + if (file == NULL || inode == NULL) + return -EINVAL; return zvol_ioctl(inode->i_bdev, file->f_mode, cmd, arg); } @@ -1010,6 +1012,8 @@ static long zvol_compat_ioctl_by_inode(struct file *file, unsigned int cmd, unsigned long arg) { + if (file == NULL) + return -EINVAL; return zvol_compat_ioctl(file->f_dentry->d_inode->i_bdev, file->f_mode, cmd, arg); } @@ -1058,6 +1062,8 @@ zvol_alloc(dev_t dev, const char *name) mutex_init(&zv->zv_znode.z_range_lock, NULL, MUTEX_DEFAULT, NULL); avl_create(&zv->zv_znode.z_range_avl, zfs_range_compare, sizeof (rl_t), offsetof(rl_t, r_node)); + zv->zv_znode.z_is_zvol = TRUE; + spin_lock_init(&zv->zv_lock); list_link_init(&zv->zv_next);