Temporary fix for quotactl authorization: it must use the effective UID
and not the real UID. Further work is required to move the check to the kauth listener instead of having it in UFS code.
This commit is contained in:
parent
0d54b0ec95
commit
bd4473d64d
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ufs_quota.c,v 1.111 2012/08/26 02:32:14 dholland Exp $ */
|
||||
/* $NetBSD: ufs_quota.c,v 1.112 2012/09/09 04:27:49 manu Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1982, 1986, 1990, 1993, 1995
|
||||
@ -35,7 +35,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: ufs_quota.c,v 1.111 2012/08/26 02:32:14 dholland Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: ufs_quota.c,v 1.112 2012/09/09 04:27:49 manu Exp $");
|
||||
|
||||
#if defined(_KERNEL_OPT)
|
||||
#include "opt_quota.h"
|
||||
@ -335,7 +335,7 @@ quota_handle_cmd_objtypestat(struct mount *mp, struct lwp *l,
|
||||
static int
|
||||
quota_get_auth(struct mount *mp, struct lwp *l, uid_t id) {
|
||||
/* The user can always query about his own quota. */
|
||||
if (id == kauth_cred_getuid(l->l_cred))
|
||||
if (id == kauth_cred_geteuid(l->l_cred))
|
||||
return 0;
|
||||
return kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
|
||||
KAUTH_REQ_SYSTEM_FS_QUOTA_GET, mp, KAUTH_ARG(id), NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user