X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=module%2Fzfs%2Fzfs_ioctl.c;h=39c60915ea50ef4a56e10a1b95ab7b797231b07d;hb=da88a7fbe8876437c25f1006f91ca5595659b8d2;hp=edfda7656adbc6ea1e6adb17409d8b72ab520f3c;hpb=d247f2a3cc24e8127ec1c5055bf0cd6c39c09add;p=zfs.git diff --git a/module/zfs/zfs_ioctl.c b/module/zfs/zfs_ioctl.c index edfda76..39c6091 100644 --- a/module/zfs/zfs_ioctl.c +++ b/module/zfs/zfs_ioctl.c @@ -1441,7 +1441,7 @@ zfs_ioc_pool_get_history(zfs_cmd_t *zc) return (ENOTSUP); } - hist_buf = kmem_alloc(size, KM_SLEEP); + hist_buf = vmem_alloc(size, KM_SLEEP); if ((error = spa_history_get(spa, &zc->zc_history_offset, &zc->zc_history_len, hist_buf)) == 0) { error = ddi_copyout(hist_buf, @@ -1450,7 +1450,7 @@ zfs_ioc_pool_get_history(zfs_cmd_t *zc) } spa_close(spa, FTAG); - kmem_free(hist_buf, size); + vmem_free(hist_buf, size); return (error); } @@ -4094,7 +4094,7 @@ zfs_ioc_userspace_many(zfs_cmd_t *zc) if (error) return (error); - buf = kmem_alloc(bufsize, KM_SLEEP); + buf = vmem_alloc(bufsize, KM_SLEEP); error = zfs_userspace_many(zsb, zc->zc_objset_type, &zc->zc_cookie, buf, &zc->zc_nvlist_dst_size); @@ -4104,7 +4104,7 @@ zfs_ioc_userspace_many(zfs_cmd_t *zc) (void *)(uintptr_t)zc->zc_nvlist_dst, zc->zc_nvlist_dst_size); } - kmem_free(buf, bufsize); + vmem_free(buf, bufsize); zfs_sb_rele(zsb, FTAG); return (error); @@ -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