Enable PF_FSTRANS for ioctl secpolicy callbacks (#4571)
At the very least, the zfs_secpolicy_write_perms ioctl security policy callback, which calls dsl_dataset_hold(), can require freeing memory and, therefore, re-enter ZFS. This patch enables PF_FSTRANS for all of the security policy callbacks similarly to the manner in which it's enabled for the actual ioctl callback. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #4554
This commit is contained in:
parent
2cb77346cb
commit
52475b507a
|
@ -5817,8 +5817,11 @@ zfsdev_ioctl(struct file *filp, unsigned cmd, unsigned long arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (error == 0 && !(flag & FKIOCTL))
|
if (error == 0 && !(flag & FKIOCTL)) {
|
||||||
|
cookie = spl_fstrans_mark();
|
||||||
error = vec->zvec_secpolicy(zc, innvl, CRED());
|
error = vec->zvec_secpolicy(zc, innvl, CRED());
|
||||||
|
spl_fstrans_unmark(cookie);
|
||||||
|
}
|
||||||
|
|
||||||
if (error != 0)
|
if (error != 0)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
Loading…
Reference in New Issue