⬢ DragonFlyBSD Kernel Audit
DF-3244 / fix.diff
← back to finding ↓ download raw
--- a/sys/vfs/ufs/ufs_vfsops.c	2026-06-29 12:51:19.000000000 +0000
+++ b/sys/vfs/ufs/ufs_vfsops.c	2026-10-26 03:29:41.728762178 +0000
@@ -117,7 +117,8 @@
 		break;
 
 	case Q_GETQUOTA:
-		if (uid == cred->cr_ruid)
+		if ((type == USRQUOTA && uid == cred->cr_ruid) ||
+		    (type == GRPQUOTA && groupmember((gid_t)uid, cred)))
 			error = 0;
 		else
 			error = caps_priv_check(cred, SYSCAP_RESTRICTEDROOT);
@@ -139,7 +140,7 @@
 	if ((uint)type >= MAXQUOTAS)
 		return (EINVAL);
 	if (vfs_busy(mp, LK_NOWAIT))
-		return (0);
+		return (EBUSY);
 
 	switch (cmd) {