diff options
Diffstat (limited to 'usr/src/uts/common/syscall/rctlsys.c')
-rw-r--r-- | usr/src/uts/common/syscall/rctlsys.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/usr/src/uts/common/syscall/rctlsys.c b/usr/src/uts/common/syscall/rctlsys.c index b82f4b0566..5c4da3274b 100644 --- a/usr/src/uts/common/syscall/rctlsys.c +++ b/usr/src/uts/common/syscall/rctlsys.c @@ -870,11 +870,6 @@ rctlsys_projset(char *name, rctl_opaque_t *rblk, size_t size, int flags) return (set_errno(EFAULT)); } - if (secpolicy_rctlsys(CRED(), B_TRUE) != 0) { - kmem_free(kname, MAXPATHLEN); - return (set_errno(EPERM)); - } - if (size > RCTL_PROJSET_MAXSIZE) { kmem_free(kname, MAXPATHLEN); return (set_errno(EINVAL)); @@ -893,6 +888,11 @@ rctlsys_projset(char *name, rctl_opaque_t *rblk, size_t size, int flags) return (set_errno(EINVAL)); } + if (secpolicy_rctlsys(CRED(), B_FALSE) != 0) { + kmem_free(kname, MAXPATHLEN); + return (set_errno(EPERM)); + } + /* Allocate an array large enough for all resource control blocks */ krblk = kmem_zalloc(sizeof (rctl_opaque_t) * size, KM_SLEEP); |