Module Name: src Committed By: manu Date: Sun Sep 9 04:27:49 UTC 2012
Modified Files: src/sys/ufs/ufs: ufs_quota.c Log Message: 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. To generate a diff of this commit: cvs rdiff -u -r1.111 -r1.112 src/sys/ufs/ufs/ufs_quota.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/ufs/ufs/ufs_quota.c diff -u src/sys/ufs/ufs/ufs_quota.c:1.111 src/sys/ufs/ufs/ufs_quota.c:1.112 --- src/sys/ufs/ufs/ufs_quota.c:1.111 Sun Aug 26 02:32:14 2012 +++ src/sys/ufs/ufs/ufs_quota.c Sun Sep 9 04:27:49 2012 @@ -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 moun 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);