Pass caller's credential in zfsdev_ioctl()
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 20 May 2011 17:12:25 +0000 (10:12 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 20 May 2011 17:12:25 +0000 (10:12 -0700)
Initially when zfsdev_ioctl() was ported to Linux we didn't have
any credential support implemented.  So at the time we simply
passed NULL which wasn't much of a problem since most of the
secpolicy code was disabled.

However, one exception is quota handling which does require the
credential.  Now that proper credentials are supported we can
safely start passing the callers credential.  This is also an
initial step towards fully implemented the zfs secpolicy.

module/zfs/zfs_ioctl.c

index cb423e8..7fba6e7 100644 (file)
@@ -5047,7 +5047,7 @@ zfsdev_ioctl(struct file *filp, unsigned cmd, unsigned long arg)
                error = EFAULT;
 
        if ((error == 0) && !(flag & FKIOCTL))
-               error = zfs_ioc_vec[vec].zvec_secpolicy(zc, NULL);
+               error = zfs_ioc_vec[vec].zvec_secpolicy(zc, CRED());
 
        /*
         * Ensure that all pool/dataset names are valid before we pass down to