From owner-p4-projects@FreeBSD.ORG Sat Oct 10 21:37:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5022F1065694; Sat, 10 Oct 2009 21:37:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 13D06106568B for ; Sat, 10 Oct 2009 21:37:42 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 029048FC16 for ; Sat, 10 Oct 2009 21:37:42 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n9ALbfXD003314 for ; Sat, 10 Oct 2009 21:37:41 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n9ALbfmh003312 for perforce@freebsd.org; Sat, 10 Oct 2009 21:37:41 GMT (envelope-from trasz@freebsd.org) Date: Sat, 10 Oct 2009 21:37:41 GMT Message-Id: <200910102137.n9ALbfmh003312@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 169367 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Oct 2009 21:37:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=169367 Change 169367 by trasz@trasz_victim on 2009/10/10 21:36:46 Index arrays properly. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#64 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#36 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#64 (text+ko) ==== @@ -133,7 +133,7 @@ cred = p->p_ucred; mtx_assert(&hrl_lock, MA_OWNED); - for (resource = 0; resource < HRL_RESOURCE_MAX; resource++) + for (resource = 0; resource <= HRL_RESOURCE_MAX; resource++) KASSERT(p->p_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); KASSERT(cred->cr_ruidinfo->ui_usage.hu_resources[resource] >= 0, @@ -150,7 +150,7 @@ } if (hrl_group_accounting) { for (i = 0; i < cred->cr_ngroups; i++) { - for (resource = 0; resource < HRL_RESOURCE_MAX; resource++) { + for (resource = 0; resource <= HRL_RESOURCE_MAX; resource++) { KASSERT(cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] >= 0, ("resource usage propagation meltdown")); KASSERT(cred->cr_gidinfos[i]->gi_usage.hu_resources[resource] >= @@ -175,7 +175,7 @@ hrl_allocated(p, HRL_RESOURCE_PTY, 0); mtx_lock(&hrl_lock); - for (i = 0; i < HRL_RESOURCE_MAX; i++) { + for (i = 0; i <= HRL_RESOURCE_MAX; i++) { KASSERT(p->p_usage.hu_resources[i] == 0, ("dead process still holding resources")); } @@ -449,7 +449,7 @@ mtx_assert(&hrl_lock, MA_OWNED); - for (i = 0; i < HRL_RESOURCE_MAX; i++) + for (i = 0; i <= HRL_RESOURCE_MAX; i++) (*availablep)[i] = INT64_MAX; LIST_FOREACH(limit, &p->p_limits, hl_next) { @@ -648,7 +648,7 @@ int i; mtx_lock(&hrl_lock); - for (i = 0; i < HRL_RESOURCE_MAX; i++) { + for (i = 0; i <= HRL_RESOURCE_MAX; i++) { KASSERT(dest->hu_resources[i] >= 0, ("resource usage propagation meltdown")); KASSERT(src->hu_resources[i] >= 0, @@ -666,7 +666,7 @@ int i; mtx_lock(&hrl_lock); - for (i = 0; i < HRL_RESOURCE_MAX; i++) { + for (i = 0; i <= HRL_RESOURCE_MAX; i++) { KASSERT(dest->hu_resources[i] >= 0, ("resource usage propagation meltdown")); KASSERT(src->hu_resources[i] >= 0, @@ -1410,7 +1410,7 @@ struct sbuf *sb; sb = sbuf_new_auto(); - for (i = 1; i < HRL_RESOURCE_MAX; i++) { + for (i = 1; i <= HRL_RESOURCE_MAX; i++) { sbuf_printf(sb, "%s=%jd,", hrl_resource_name(i), usage->hu_resources[i]); } @@ -1836,7 +1836,7 @@ PROC_LOCK(child); mtx_lock(&hrl_lock); - for (i = 0; i < HRL_RESOURCE_MAX; i++) { + for (i = 0; i <= HRL_RESOURCE_MAX; i++) { if (parent->p_usage.hu_resources[i] != 0 && hrl_resource_inheritable(i)) hrl_allocated(child, i, ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#36 (text+ko) ==== @@ -80,44 +80,44 @@ u_int hr_refcount; }; -#define HRL_SUBJECT_TYPE_UNDEFINED 0x0000 -#define HRL_SUBJECT_TYPE_PROCESS 0x0001 -#define HRL_SUBJECT_TYPE_USER 0x0002 -#define HRL_SUBJECT_TYPE_GROUP 0x0003 -#define HRL_SUBJECT_TYPE_LOGINCLASS 0x0004 -#define HRL_SUBJECT_TYPE_JAIL 0x0005 +#define HRL_SUBJECT_TYPE_UNDEFINED -1 +#define HRL_SUBJECT_TYPE_PROCESS 0x0000 +#define HRL_SUBJECT_TYPE_USER 0x0001 +#define HRL_SUBJECT_TYPE_GROUP 0x0002 +#define HRL_SUBJECT_TYPE_LOGINCLASS 0x0003 +#define HRL_SUBJECT_TYPE_JAIL 0x0004 #define HRL_SUBJECT_TYPE_MAX HRL_SUBJECT_TYPE_JAIL /* * 'hr_per' takes the same flags as 'hr_subject_type'. */ -#define HRL_RESOURCE_UNDEFINED 0x0000 -#define HRL_RESOURCE_CPUTIME 0x0001 -#define HRL_RESOURCE_FILESIZE 0x0002 -#define HRL_RESOURCE_DATASIZE 0x0003 -#define HRL_RESOURCE_STACKSIZE 0x0004 -#define HRL_RESOURCE_COREDUMPSIZE 0x0005 -#define HRL_RESOURCE_MEMORYUSE 0x0006 -#define HRL_RESOURCE_MEMORYLOCKED 0x0007 -#define HRL_RESOURCE_MAXPROCESSES 0x0008 -#define HRL_RESOURCE_FILEDESCRIPTORS 0x0009 -#define HRL_RESOURCE_SBSIZE 0x000a -#define HRL_RESOURCE_VMEMORYUSE 0x000b -#define HRL_RESOURCE_PTY 0x000c -#define HRL_RESOURCE_SWAP 0x000d +#define HRL_RESOURCE_UNDEFINED -1 +#define HRL_RESOURCE_CPUTIME 0x0000 +#define HRL_RESOURCE_FILESIZE 0x0001 +#define HRL_RESOURCE_DATASIZE 0x0002 +#define HRL_RESOURCE_STACKSIZE 0x0003 +#define HRL_RESOURCE_COREDUMPSIZE 0x0004 +#define HRL_RESOURCE_MEMORYUSE 0x0005 +#define HRL_RESOURCE_MEMORYLOCKED 0x0006 +#define HRL_RESOURCE_MAXPROCESSES 0x0007 +#define HRL_RESOURCE_FILEDESCRIPTORS 0x0008 +#define HRL_RESOURCE_SBSIZE 0x0009 +#define HRL_RESOURCE_VMEMORYUSE 0x000a +#define HRL_RESOURCE_PTY 0x000b +#define HRL_RESOURCE_SWAP 0x000c #define HRL_RESOURCE_MAX HRL_RESOURCE_SWAP -#define HRL_ACTION_UNDEFINED 0x0000 -#define HRL_ACTION_DENY 0x0001 -#define HRL_ACTION_DELAY 0x0002 -#define HRL_ACTION_LOG 0x0003 -#define HRL_ACTION_SIGHUP 0x0004 -#define HRL_ACTION_SIGINT 0x0005 -#define HRL_ACTION_SIGKILL 0x0006 -#define HRL_ACTION_SIGSEGV 0x0007 -#define HRL_ACTION_SIGXCPU 0x0008 -#define HRL_ACTION_SIGXFSZ 0x0009 +#define HRL_ACTION_UNDEFINED -1 +#define HRL_ACTION_DENY 0x0000 +#define HRL_ACTION_DELAY 0x0001 +#define HRL_ACTION_LOG 0x0002 +#define HRL_ACTION_SIGHUP 0x0003 +#define HRL_ACTION_SIGINT 0x0004 +#define HRL_ACTION_SIGKILL 0x0005 +#define HRL_ACTION_SIGSEGV 0x0006 +#define HRL_ACTION_SIGXCPU 0x0007 +#define HRL_ACTION_SIGXFSZ 0x0008 #define HRL_ACTION_MAX HRL_ACTION_SIGXFSZ #define HRL_AMOUNT_UNDEFINED -1