Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Aug 2009 18:50:38 GMT
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 167069 for review
Message-ID:  <200908061850.n76IocRx083259@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=167069

Change 167069 by trasz@trasz_anger on 2009/08/06 18:49:56

	Use only cr_ruidinfo, not cr_uidinfo - for simplicity.  Might
	add it back later, should it prove useful.

Affected files ...

.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#47 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#18 edit

Differences ...

==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#47 (text+ko) ====

@@ -249,9 +249,6 @@
 	struct sbuf *sb;
 
 	/*
-	 * XXX: Check maxfilesperproc.
-	 */
-	/*
 	 * XXX: Do this just before we start running on a CPU, not all the time.
 	 */
 	hrl_compute_available(p, &available, &rules);
@@ -266,12 +263,6 @@
 		 * into proper one for the situation - EFSIZ, ENOMEM etc.
 		 */
 		return (EDOOFUS);
-	case HRL_ACTION_DELAY:
-		/*
-		 * XXX: Think whether we actually can and want to do this.
-		 */
-		printf("hrl_enforce_proc: XXX, \"delay\" unimplemented.\n");
-		return (0);
 	case HRL_ACTION_LOG:
 		sb = sbuf_new_auto();
 		hrl_rule_to_sbuf(sb, rules[resource]);
@@ -372,8 +363,6 @@
 	p->p_usage.hu_resources[resource] += amount;
 	cred = p->p_ucred;
 	cred->cr_ruidinfo->ui_usage.hu_resources[resource] += amount;
-	if (cred->cr_ruidinfo != cred->cr_uidinfo)
-		cred->cr_uidinfo->ui_usage.hu_resources[resource] += amount;
 	for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent)
 		pr->pr_usage.hu_resources[resource] += amount;
 	/*
@@ -436,8 +425,6 @@
 	p->p_usage.hu_resources[resource] = amount;
 	cred = p->p_ucred;
 	cred->cr_ruidinfo->ui_usage.hu_resources[resource] += diff;
-	if (cred->cr_ruidinfo != cred->cr_uidinfo)
-		cred->cr_uidinfo->ui_usage.hu_resources[resource] += diff;
 	for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent)
 		pr->pr_usage.hu_resources[resource] += diff;
 	/*
@@ -493,8 +480,6 @@
 	p->p_usage.hu_resources[resource] -= amount;
 	cred = p->p_ucred;
 	cred->cr_ruidinfo->ui_usage.hu_resources[resource] -= amount;
-	if (cred->cr_ruidinfo != cred->cr_uidinfo)
-		cred->cr_uidinfo->ui_usage.hu_resources[resource] -= amount;
 	for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent)
 		pr->pr_usage.hu_resources[resource] -= amount;
 	/*
@@ -922,6 +907,9 @@
 	    rule->hr_per == HRL_SUBJECT_GROUP) && !hrl_group_accounting)
 		return (EOPNOTSUPP);
 
+	if (rule->hr_action == HRL_ACTION_DELAY)
+		return (EOPNOTSUPP);
+
 	/*
 	 * Make sure there are no duplicated rules.
 	 */

==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#18 (text+ko) ====

@@ -2189,16 +2189,6 @@
 	PROC_LOCK_ASSERT(p, MA_OWNED);
 
 	/*
-	 * Fix up per-euid resource consumption.
-	 */
-	newuip = newcred->cr_uidinfo;
-	olduip = p->p_ucred->cr_uidinfo;
-	if (newuip != olduip) {
-		hrl_usage_subtract(&olduip->ui_usage, &p->p_usage);
-		hrl_usage_add(&newuip->ui_usage, &p->p_usage);
-	}
-
-	/*
 	 * Fix up per-ruid resource consumption.
 	 */
 	newuip = newcred->cr_ruidinfo;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908061850.n76IocRx083259>