PERFORCE change 190789 for review
Edward Tomasz Napierala
trasz at FreeBSD.org
Fri Apr 1 16:32:59 UTC 2011
http://p4web.freebsd.org/@@190789?ac=10
Change 190789 by trasz at trasz_victim on 2011/03/30 21:02:37
Fix mismerges.
Affected files ...
.. //depot/projects/soc2009/trasz_limits/etc/rc.d/rctl#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/conf/GENERIC#21 integrate
.. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_proto.h#16 integrate
.. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_syscall.h#14 integrate
.. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_syscalls.c#14 integrate
.. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_sysent.c#15 integrate
.. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_systrace_args.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/conf/NOTES#38 integrate
.. //depot/projects/soc2009/trasz_limits/sys/conf/options#35 integrate
.. //depot/projects/soc2009/trasz_limits/sys/i386/conf/GENERIC#22 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/init_sysent.c#17 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_rctl.c#43 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#64 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/syscalls.c#16 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/systrace_args.c#15 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sys/jail.h#25 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sys/racct.h#6 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sys/rctl.h#18 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sys/syscall.h#16 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sys/syscall.mk#16 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sys/sysproto.h#17 integrate
.. //depot/projects/soc2009/trasz_limits/usr.bin/rctl/Makefile#3 integrate
.. //depot/projects/soc2009/trasz_limits/usr.bin/rctl/rctl.8#11 integrate
.. //depot/projects/soc2009/trasz_limits/usr.bin/rctl/rctl.c#7 integrate
Differences ...
==== //depot/projects/soc2009/trasz_limits/etc/rc.d/rctl#3 (text+ko) ====
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# $FreeBSD$
+# $FreeBSD: src/etc/rc.d/rctl,v 1.1 2011/03/30 18:32:45 trasz Exp $
#
# PROVIDE: rctl
@@ -32,7 +32,7 @@
rctl_stop()
{
- rctl -r ::
+ rctl -r :
}
load_rc_config $name
==== //depot/projects/soc2009/trasz_limits/sys/amd64/conf/GENERIC#21 (text+ko) ====
@@ -16,7 +16,7 @@
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.552 2011/03/19 15:50:34 bz Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.554 2011/03/29 18:16:49 trasz Exp $
cpu HAMMER
ident GENERIC
@@ -61,8 +61,8 @@
options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4)
options AUDIT # Security event auditing
options MAC # TrustedBSD MAC Framework
-options KDTRACE_FRAME # Ensure frames are compiled in
-options KDTRACE_HOOKS # Kernel DTrace hooks
+#options KDTRACE_FRAME # Ensure frames are compiled in
+#options KDTRACE_HOOKS # Kernel DTrace hooks
options INCLUDE_CONFIG_FILE # Include this file in kernel
# Debugging for use in -current
@@ -76,9 +76,6 @@
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
-options CONTAINERS
-options RCTL
-
# Make an SMP-capable kernel by default
options SMP # Symmetric MultiProcessor Kernel
==== //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_proto.h#16 (text+ko) ====
@@ -2,8 +2,8 @@
* System call prototypes.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.118 2011/03/05 12:46:24 trasz Exp $
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 219304 2011-03-05 12:40:35Z trasz
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.120 2011/03/30 17:59:54 trasz Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 220163 2011-03-30 17:48:15Z trasz
*/
#ifndef _FREEBSD32_SYSPROTO_H_
@@ -240,6 +240,10 @@
char modid_l_[PADL_(int)]; int modid; char modid_r_[PADR_(int)];
char stat_l_[PADL_(struct module_stat32 *)]; struct module_stat32 * stat; char stat_r_[PADR_(struct module_stat32 *)];
};
+struct freebsd32_kldstat_args {
+ char fileid_l_[PADL_(int)]; int fileid; char fileid_r_[PADR_(int)];
+ char stat_l_[PADL_(struct kld32_file_stat *)]; struct kld32_file_stat * stat; char stat_r_[PADR_(struct kld32_file_stat *)];
+};
struct freebsd32_aio_return_args {
char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
};
@@ -607,6 +611,7 @@
int freebsd32_preadv(struct thread *, struct freebsd32_preadv_args *);
int freebsd32_pwritev(struct thread *, struct freebsd32_pwritev_args *);
int freebsd32_modstat(struct thread *, struct freebsd32_modstat_args *);
+int freebsd32_kldstat(struct thread *, struct freebsd32_kldstat_args *);
int freebsd32_aio_return(struct thread *, struct freebsd32_aio_return_args *);
int freebsd32_aio_suspend(struct thread *, struct freebsd32_aio_suspend_args *);
int freebsd32_aio_cancel(struct thread *, struct freebsd32_aio_cancel_args *);
@@ -939,6 +944,7 @@
#define FREEBSD32_SYS_AUE_freebsd32_pwritev AUE_PWRITEV
#define FREEBSD32_SYS_AUE_freebsd4_freebsd32_fhstatfs AUE_FHSTATFS
#define FREEBSD32_SYS_AUE_freebsd32_modstat AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_kldstat AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_aio_return AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_aio_suspend AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_aio_cancel AUE_NULL
==== //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_syscall.h#14 (text+ko) ====
@@ -2,8 +2,8 @@
* System call numbers.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD$
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.132 2010/06/28 18:06:46 kib Exp
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.116 2011/03/30 17:59:54 trasz Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 220163 2011-03-30 17:48:15Z trasz
*/
#define FREEBSD32_SYS_syscall 0
@@ -234,7 +234,7 @@
#define FREEBSD32_SYS_kldunload 305
#define FREEBSD32_SYS_kldfind 306
#define FREEBSD32_SYS_kldnext 307
-#define FREEBSD32_SYS_kldstat 308
+#define FREEBSD32_SYS_freebsd32_kldstat 308
#define FREEBSD32_SYS_kldfirstmod 309
#define FREEBSD32_SYS_getsid 310
#define FREEBSD32_SYS_setresuid 311
@@ -414,7 +414,7 @@
#define FREEBSD32_SYS_freebsd32_pselect 522
#define FREEBSD32_SYS_getloginclass 523
#define FREEBSD32_SYS_setloginclass 524
-#define FREEBSD32_SYS_rctl_get_usage 525
+#define FREEBSD32_SYS_rctl_get_racct 525
#define FREEBSD32_SYS_rctl_get_rules 526
#define FREEBSD32_SYS_rctl_get_limits 527
#define FREEBSD32_SYS_rctl_add_rule 528
==== //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_syscalls.c#14 (text+ko) ====
@@ -2,8 +2,8 @@
* System call names.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD$
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.132 2010/06/28 18:06:46 kib Exp
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.107 2011/03/30 17:59:54 trasz Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 220163 2011-03-30 17:48:15Z trasz
*/
const char *freebsd32_syscallnames[] = {
@@ -318,7 +318,7 @@
"kldunload", /* 305 = kldunload */
"kldfind", /* 306 = kldfind */
"kldnext", /* 307 = kldnext */
- "kldstat", /* 308 = kldstat */
+ "freebsd32_kldstat", /* 308 = freebsd32_kldstat */
"kldfirstmod", /* 309 = kldfirstmod */
"getsid", /* 310 = getsid */
"setresuid", /* 311 = setresuid */
@@ -548,7 +548,7 @@
"freebsd32_pselect", /* 522 = freebsd32_pselect */
"getloginclass", /* 523 = getloginclass */
"setloginclass", /* 524 = setloginclass */
- "rctl_get_usage", /* 525 = rctl_get_usage */
+ "rctl_get_racct", /* 525 = rctl_get_racct */
"rctl_get_rules", /* 526 = rctl_get_rules */
"rctl_get_limits", /* 527 = rctl_get_limits */
"rctl_add_rule", /* 528 = rctl_add_rule */
==== //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_sysent.c#15 (text+ko) ====
@@ -2,8 +2,8 @@
* System call switch table.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD$
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.132 2010/06/28 18:06:46 kib Exp
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.118 2011/03/30 17:59:54 trasz Exp $
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 220163 2011-03-30 17:48:15Z trasz
*/
#include "opt_compat.h"
@@ -355,7 +355,7 @@
{ AS(kldunload_args), (sy_call_t *)kldunload, AUE_MODUNLOAD, NULL, 0, 0, 0, SY_THR_STATIC }, /* 305 = kldunload */
{ AS(kldfind_args), (sy_call_t *)kldfind, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 306 = kldfind */
{ AS(kldnext_args), (sy_call_t *)kldnext, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 307 = kldnext */
- { AS(kldstat_args), (sy_call_t *)kldstat, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 308 = kldstat */
+ { AS(freebsd32_kldstat_args), (sy_call_t *)freebsd32_kldstat, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 308 = freebsd32_kldstat */
{ AS(kldfirstmod_args), (sy_call_t *)kldfirstmod, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 309 = kldfirstmod */
{ AS(getsid_args), (sy_call_t *)getsid, AUE_GETSID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 310 = getsid */
{ AS(setresuid_args), (sy_call_t *)setresuid, AUE_SETRESUID, NULL, 0, 0, 0, SY_THR_STATIC }, /* 311 = setresuid */
@@ -585,7 +585,7 @@
{ AS(freebsd32_pselect_args), (sy_call_t *)freebsd32_pselect, AUE_SELECT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 522 = freebsd32_pselect */
{ AS(getloginclass_args), (sy_call_t *)getloginclass, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 523 = getloginclass */
{ AS(setloginclass_args), (sy_call_t *)setloginclass, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 524 = setloginclass */
- { AS(rctl_get_usage_args), (sy_call_t *)rctl_get_usage, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 525 = rctl_get_usage */
+ { AS(rctl_get_racct_args), (sy_call_t *)rctl_get_racct, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 525 = rctl_get_racct */
{ AS(rctl_get_rules_args), (sy_call_t *)rctl_get_rules, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 526 = rctl_get_rules */
{ AS(rctl_get_limits_args), (sy_call_t *)rctl_get_limits, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 527 = rctl_get_limits */
{ AS(rctl_add_rule_args), (sy_call_t *)rctl_add_rule, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 528 = rctl_add_rule */
==== //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_systrace_args.c#2 (text+ko) ====
@@ -2,7 +2,7 @@
* System call argument to DTrace register array converstion.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_systrace_args.c,v 1.1 2011/03/12 08:58:19 avg Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_systrace_args.c,v 1.3 2011/03/30 17:59:54 trasz Exp $
* This file is part of the DTrace syscall provider.
*/
@@ -1428,11 +1428,11 @@
*n_args = 1;
break;
}
- /* kldstat */
+ /* freebsd32_kldstat */
case 308: {
- struct kldstat_args *p = params;
+ struct freebsd32_kldstat_args *p = params;
iarg[0] = p->fileid; /* int */
- uarg[1] = (intptr_t) p->stat; /* struct kld_file_stat * */
+ uarg[1] = (intptr_t) p->stat; /* struct kld32_file_stat * */
*n_args = 2;
break;
}
@@ -2957,6 +2957,56 @@
*n_args = 1;
break;
}
+ /* rctl_get_racct */
+ case 525: {
+ struct rctl_get_racct_args *p = params;
+ uarg[0] = (intptr_t) p->inbufp; /* const void * */
+ uarg[1] = p->inbuflen; /* size_t */
+ uarg[2] = (intptr_t) p->outbufp; /* void * */
+ uarg[3] = p->outbuflen; /* size_t */
+ *n_args = 4;
+ break;
+ }
+ /* rctl_get_rules */
+ case 526: {
+ struct rctl_get_rules_args *p = params;
+ uarg[0] = (intptr_t) p->inbufp; /* const void * */
+ uarg[1] = p->inbuflen; /* size_t */
+ uarg[2] = (intptr_t) p->outbufp; /* void * */
+ uarg[3] = p->outbuflen; /* size_t */
+ *n_args = 4;
+ break;
+ }
+ /* rctl_get_limits */
+ case 527: {
+ struct rctl_get_limits_args *p = params;
+ uarg[0] = (intptr_t) p->inbufp; /* const void * */
+ uarg[1] = p->inbuflen; /* size_t */
+ uarg[2] = (intptr_t) p->outbufp; /* void * */
+ uarg[3] = p->outbuflen; /* size_t */
+ *n_args = 4;
+ break;
+ }
+ /* rctl_add_rule */
+ case 528: {
+ struct rctl_add_rule_args *p = params;
+ uarg[0] = (intptr_t) p->inbufp; /* const void * */
+ uarg[1] = p->inbuflen; /* size_t */
+ uarg[2] = (intptr_t) p->outbufp; /* void * */
+ uarg[3] = p->outbuflen; /* size_t */
+ *n_args = 4;
+ break;
+ }
+ /* rctl_remove_rule */
+ case 529: {
+ struct rctl_remove_rule_args *p = params;
+ uarg[0] = (intptr_t) p->inbufp; /* const void * */
+ uarg[1] = p->inbuflen; /* size_t */
+ uarg[2] = (intptr_t) p->outbufp; /* void * */
+ uarg[3] = p->outbuflen; /* size_t */
+ *n_args = 4;
+ break;
+ }
default:
*n_args = 0;
break;
@@ -5217,14 +5267,14 @@
break;
};
break;
- /* kldstat */
+ /* freebsd32_kldstat */
case 308:
switch(ndx) {
case 0:
p = "int";
break;
case 1:
- p = "struct kld_file_stat *";
+ p = "struct kld32_file_stat *";
break;
default:
break;
@@ -7873,6 +7923,101 @@
break;
};
break;
+ /* rctl_get_racct */
+ case 525:
+ switch(ndx) {
+ case 0:
+ p = "const void *";
+ break;
+ case 1:
+ p = "size_t";
+ break;
+ case 2:
+ p = "void *";
+ break;
+ case 3:
+ p = "size_t";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* rctl_get_rules */
+ case 526:
+ switch(ndx) {
+ case 0:
+ p = "const void *";
+ break;
+ case 1:
+ p = "size_t";
+ break;
+ case 2:
+ p = "void *";
+ break;
+ case 3:
+ p = "size_t";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* rctl_get_limits */
+ case 527:
+ switch(ndx) {
+ case 0:
+ p = "const void *";
+ break;
+ case 1:
+ p = "size_t";
+ break;
+ case 2:
+ p = "void *";
+ break;
+ case 3:
+ p = "size_t";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* rctl_add_rule */
+ case 528:
+ switch(ndx) {
+ case 0:
+ p = "const void *";
+ break;
+ case 1:
+ p = "size_t";
+ break;
+ case 2:
+ p = "void *";
+ break;
+ case 3:
+ p = "size_t";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* rctl_remove_rule */
+ case 529:
+ switch(ndx) {
+ case 0:
+ p = "const void *";
+ break;
+ case 1:
+ p = "size_t";
+ break;
+ case 2:
+ p = "void *";
+ break;
+ case 3:
+ p = "size_t";
+ break;
+ default:
+ break;
+ };
+ break;
default:
break;
};
==== //depot/projects/soc2009/trasz_limits/sys/conf/NOTES#38 (text+ko) ====
@@ -1161,12 +1161,6 @@
# Support for Capsicum
options CAPABILITIES
-# Resource Accounting
-options RACCT
-
-# Resource Limits
-options RCTL
-
#####################################################################
# CLOCK OPTIONS
==== //depot/projects/soc2009/trasz_limits/sys/conf/options#35 (text+ko) ====
@@ -883,3 +883,4 @@
# that "lies" about the amount of RAM it has. Until a cleaner method is
# defined, this option will suffice in overriding what Redboot says.
AR71XX_REALMEM opt_global.h
+
==== //depot/projects/soc2009/trasz_limits/sys/i386/conf/GENERIC#22 (text+ko) ====
@@ -76,9 +76,6 @@
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
-options CONTAINERS
-options RCTL
-
# To make an SMP kernel, the next two lines are needed
options SMP # Symmetric MultiProcessor Kernel
device apic # I/O APIC
==== //depot/projects/soc2009/trasz_limits/sys/kern/init_sysent.c#17 (text+ko) ====
@@ -2,8 +2,8 @@
* System call switch table.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD$
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.265 2010/08/30 14:24:44 kib Exp
+ * $FreeBSD: src/sys/kern/init_sysent.c,v 1.260 2011/03/30 17:59:54 trasz Exp $
+ * created from FreeBSD: head/sys/kern/syscalls.master 220163 2011-03-30 17:48:15Z trasz
*/
#include "opt_compat.h"
@@ -559,7 +559,7 @@
{ AS(pselect_args), (sy_call_t *)pselect, AUE_SELECT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 522 = pselect */
{ AS(getloginclass_args), (sy_call_t *)getloginclass, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 523 = getloginclass */
{ AS(setloginclass_args), (sy_call_t *)setloginclass, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 524 = setloginclass */
- { AS(rctl_get_usage_args), (sy_call_t *)rctl_get_usage, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 525 = rctl_get_usage */
+ { AS(rctl_get_racct_args), (sy_call_t *)rctl_get_racct, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 525 = rctl_get_racct */
{ AS(rctl_get_rules_args), (sy_call_t *)rctl_get_rules, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 526 = rctl_get_rules */
{ AS(rctl_get_limits_args), (sy_call_t *)rctl_get_limits, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 527 = rctl_get_limits */
{ AS(rctl_add_rule_args), (sy_call_t *)rctl_add_rule, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 528 = rctl_add_rule */
==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_rctl.c#43 (text+ko) ====
@@ -26,11 +26,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: src/sys/kern/kern_rctl.c,v 1.1 2011/03/30 17:48:15 trasz Exp $
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: src/sys/kern/kern_rctl.c,v 1.1 2011/03/30 17:48:15 trasz Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -1126,25 +1126,29 @@
if (rule->rr_subject.rs_proc == NULL)
sbuf_printf(sb, ":");
else
- sbuf_printf(sb, "%d:", rule->rr_subject.rs_proc->p_pid);
+ sbuf_printf(sb, "%d:",
+ rule->rr_subject.rs_proc->p_pid);
break;
case RCTL_SUBJECT_TYPE_USER:
if (rule->rr_subject.rs_uip == NULL)
sbuf_printf(sb, ":");
else
- sbuf_printf(sb, "%d:", rule->rr_subject.rs_uip->ui_uid);
+ sbuf_printf(sb, "%d:",
+ rule->rr_subject.rs_uip->ui_uid);
break;
case RCTL_SUBJECT_TYPE_LOGINCLASS:
if (rule->rr_subject.hr_loginclass == NULL)
sbuf_printf(sb, ":");
else
- sbuf_printf(sb, "%s:", rule->rr_subject.hr_loginclass->lc_name);
+ sbuf_printf(sb, "%s:",
+ rule->rr_subject.hr_loginclass->lc_name);
break;
case RCTL_SUBJECT_TYPE_JAIL:
if (rule->rr_subject.rs_prison == NULL)
sbuf_printf(sb, ":");
else
- sbuf_printf(sb, "%s:", rule->rr_subject.rs_prison->pr_name);
+ sbuf_printf(sb, "%s:",
+ rule->rr_subject.rs_prison->pr_name);
break;
default:
panic("rctl_rule_to_sbuf: unknown subject type %d",
@@ -1372,7 +1376,8 @@
* Non-process rules will be added to the buffer later.
* Adding them here would result in duplicated output.
*/
- if (link->rrl_rule->rr_subject_type != RCTL_SUBJECT_TYPE_PROCESS)
+ if (link->rrl_rule->rr_subject_type !=
+ RCTL_SUBJECT_TYPE_PROCESS)
continue;
if (!rctl_rule_matches(link->rrl_rule, filter))
continue;
@@ -1460,7 +1465,8 @@
KASSERT(sb != NULL, ("sbuf_new failed"));
rw_rlock(&rctl_lock);
- LIST_FOREACH(link, &filter->rr_subject.rs_proc->p_racct->r_rule_links, rrl_next) {
+ LIST_FOREACH(link, &filter->rr_subject.rs_proc->p_racct->r_rule_links,
+ rrl_next) {
rctl_rule_to_sbuf(sb, link->rrl_rule);
sbuf_printf(sb, ",");
}
@@ -1735,24 +1741,27 @@
rw_wlock(&rctl_lock);
/*
- * Go through limits applicable to the parent and assign them to the child.
- * Rules with 'process' subject have to be duplicated in order to make their
- * rr_subject point to the new process.
+ * Go through limits applicable to the parent and assign them
+ * to the child. Rules with 'process' subject have to be duplicated
+ * in order to make their rr_subject point to the new process.
*/
LIST_FOREACH(link, &parent->p_racct->r_rule_links, rrl_next) {
- if (link->rrl_rule->rr_subject_type == RCTL_SUBJECT_TYPE_PROCESS) {
+ if (link->rrl_rule->rr_subject_type ==
+ RCTL_SUBJECT_TYPE_PROCESS) {
rule = rctl_rule_duplicate(link->rrl_rule, M_NOWAIT);
if (rule == NULL)
goto fail;
KASSERT(rule->rr_subject.rs_proc == parent,
("rule->rr_subject.rs_proc != parent"));
rule->rr_subject.rs_proc = child;
- error = rctl_racct_add_rule_locked(child->p_racct, rule);
+ error = rctl_racct_add_rule_locked(child->p_racct,
+ rule);
rctl_rule_release(rule);
if (error != 0)
goto fail;
} else {
- error = rctl_racct_add_rule_locked(child->p_racct, link->rrl_rule);
+ error = rctl_racct_add_rule_locked(child->p_racct,
+ link->rrl_rule);
if (error != 0)
goto fail;
}
@@ -1794,8 +1803,9 @@
rctl_init(void)
{
- rctl_rule_link_zone = uma_zcreate("rctl_rule_link", sizeof(struct rctl_rule_link),
- NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
+ rctl_rule_link_zone = uma_zcreate("rctl_rule_link",
+ sizeof(struct rctl_rule_link), NULL, NULL, NULL, NULL,
+ UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
rctl_rule_zone = uma_zcreate("rctl_rule", sizeof(struct rctl_rule),
NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
}
==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#64 (text+ko) ====
@@ -57,7 +57,6 @@
#include <sys/sx.h>
#include <sys/syscallsubr.h>
#include <sys/sysent.h>
-#include <sys/taskqueue.h>
#include <sys/time.h>
#include <sys/umtx.h>
==== //depot/projects/soc2009/trasz_limits/sys/kern/syscalls.c#16 (text+ko) ====
@@ -2,8 +2,8 @@
* System call names.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD$
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.265 2010/08/30 14:24:44 kib Exp
+ * $FreeBSD: src/sys/kern/syscalls.c,v 1.243 2011/03/30 17:59:54 trasz Exp $
+ * created from FreeBSD: head/sys/kern/syscalls.master 220163 2011-03-30 17:48:15Z trasz
*/
const char *syscallnames[] = {
@@ -532,7 +532,7 @@
"pselect", /* 522 = pselect */
"getloginclass", /* 523 = getloginclass */
"setloginclass", /* 524 = setloginclass */
- "rctl_get_usage", /* 525 = rctl_get_usage */
+ "rctl_get_racct", /* 525 = rctl_get_racct */
"rctl_get_rules", /* 526 = rctl_get_rules */
"rctl_get_limits", /* 527 = rctl_get_limits */
"rctl_add_rule", /* 528 = rctl_add_rule */
==== //depot/projects/soc2009/trasz_limits/sys/kern/systrace_args.c#15 (text+ko) ====
@@ -2,7 +2,7 @@
* System call argument to DTrace register array converstion.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD$
+ * $FreeBSD: src/sys/kern/systrace_args.c,v 1.39 2011/03/30 17:59:54 trasz Exp $
* This file is part of the DTrace syscall provider.
*/
@@ -3135,9 +3135,9 @@
*n_args = 1;
break;
}
- /* rctl_get_usage */
+ /* rctl_get_racct */
case 525: {
- struct rctl_get_usage_args *p = params;
+ struct rctl_get_racct_args *p = params;
uarg[0] = (intptr_t) p->inbufp; /* const void * */
uarg[1] = p->inbuflen; /* size_t */
uarg[2] = (intptr_t) p->outbufp; /* void * */
@@ -8378,7 +8378,7 @@
break;
};
break;
- /* rctl_get_usage */
+ /* rctl_get_racct */
case 525:
switch(ndx) {
case 0:
==== //depot/projects/soc2009/trasz_limits/sys/sys/jail.h#25 (text+ko) ====
@@ -341,7 +341,6 @@
struct mount;
struct sockaddr;
struct statfs;
-struct racct;
int jailed(struct ucred *cred);
int jailed_without_vnet(struct ucred *);
void getcredhostname(struct ucred *, char *, size_t);
==== //depot/projects/soc2009/trasz_limits/sys/sys/racct.h#6 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: src/sys/sys/racct.h,v 1.1 2011/03/29 17:47:25 trasz Exp $
*/
/*
==== //depot/projects/soc2009/trasz_limits/sys/sys/rctl.h#18 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: src/sys/sys/rctl.h,v 1.1 2011/03/30 17:48:15 trasz Exp $
*/
/*
@@ -139,7 +139,6 @@
void rctl_rule_release(struct rctl_rule *rule);
int rctl_rule_add(struct rctl_rule *rule);
int rctl_rule_remove(struct rctl_rule *filter);
-
int rctl_enforce(struct proc *p, int resource, uint64_t amount);
uint64_t rctl_get_limit(struct proc *p, int resource);
uint64_t rctl_get_available(struct proc *p, int resource);
@@ -153,11 +152,16 @@
* Syscall interface.
*/
__BEGIN_DECLS
-int rctl_get_racct(const char *inbufp, size_t inbuflen, char *outbufp, size_t outbuflen);
-int rctl_get_rules(const char *inbufp, size_t inbuflen, char *outbufp, size_t outbuflen);
-int rctl_get_limits(const char *inbufp, size_t inbuflen, char *outbufp, size_t outbuflen);
-int rctl_add_rule(const char *inbufp, size_t inbuflen, char *outbufp, size_t outbuflen);
-int rctl_remove_rule(const char *inbufp, size_t inbuflen, char *outbufp, size_t outbuflen);
+int rctl_get_racct(const char *inbufp, size_t inbuflen, char *outbufp,
+ size_t outbuflen);
+int rctl_get_rules(const char *inbufp, size_t inbuflen, char *outbufp,
+ size_t outbuflen);
+int rctl_get_limits(const char *inbufp, size_t inbuflen, char *outbufp,
+ size_t outbuflen);
+int rctl_add_rule(const char *inbufp, size_t inbuflen, char *outbufp,
+ size_t outbuflen);
+int rctl_remove_rule(const char *inbufp, size_t inbuflen, char *outbufp,
+ size_t outbuflen);
__END_DECLS
#endif /* !_KERNEL */
==== //depot/projects/soc2009/trasz_limits/sys/sys/syscall.h#16 (text+ko) ====
@@ -2,8 +2,8 @@
* System call numbers.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD$
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.265 2010/08/30 14:24:44 kib Exp
+ * $FreeBSD: src/sys/sys/syscall.h,v 1.240 2011/03/30 17:59:54 trasz Exp $
+ * created from FreeBSD: head/sys/kern/syscalls.master 220163 2011-03-30 17:48:15Z trasz
*/
#define SYS_syscall 0
@@ -435,7 +435,7 @@
#define SYS_pselect 522
#define SYS_getloginclass 523
#define SYS_setloginclass 524
-#define SYS_rctl_get_usage 525
+#define SYS_rctl_get_racct 525
#define SYS_rctl_get_rules 526
#define SYS_rctl_get_limits 527
#define SYS_rctl_add_rule 528
==== //depot/projects/soc2009/trasz_limits/sys/sys/syscall.mk#16 (text+ko) ====
@@ -1,7 +1,7 @@
# FreeBSD system call names.
# DO NOT EDIT-- this file is automatically generated.
-# $FreeBSD$
-# created from FreeBSD: src/sys/kern/syscalls.master,v 1.265 2010/08/30 14:24:44 kib Exp
+# $FreeBSD: src/sys/sys/syscall.mk,v 1.195 2011/03/30 17:59:54 trasz Exp $
+# created from FreeBSD: head/sys/kern/syscalls.master 220163 2011-03-30 17:48:15Z trasz
MIASM = \
syscall.o \
exit.o \
@@ -384,7 +384,7 @@
pselect.o \
getloginclass.o \
setloginclass.o \
- rctl_get_usage.o \
+ rctl_get_racct.o \
rctl_get_rules.o \
rctl_get_limits.o \
rctl_add_rule.o \
==== //depot/projects/soc2009/trasz_limits/sys/sys/sysproto.h#17 (text+ko) ====
@@ -2,8 +2,8 @@
* System call prototypes.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD$
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.265 2010/08/30 14:24:44 kib Exp
+ * $FreeBSD: src/sys/sys/sysproto.h,v 1.247 2011/03/30 17:59:54 trasz Exp $
+ * created from FreeBSD: head/sys/kern/syscalls.master 220163 2011-03-30 17:48:15Z trasz
*/
#ifndef _SYS_SYSPROTO_H_
@@ -1678,7 +1678,7 @@
struct setloginclass_args {
char namebuf_l_[PADL_(const char *)]; const char * namebuf; char namebuf_r_[PADR_(const char *)];
};
-struct rctl_get_usage_args {
+struct rctl_get_racct_args {
char inbufp_l_[PADL_(const void *)]; const void * inbufp; char inbufp_r_[PADR_(const void *)];
char inbuflen_l_[PADL_(size_t)]; size_t inbuflen; char inbuflen_r_[PADR_(size_t)];
char outbufp_l_[PADL_(void *)]; void * outbufp; char outbufp_r_[PADR_(void *)];
@@ -2073,7 +2073,7 @@
int pselect(struct thread *, struct pselect_args *);
int getloginclass(struct thread *, struct getloginclass_args *);
int setloginclass(struct thread *, struct setloginclass_args *);
-int rctl_get_usage(struct thread *, struct rctl_get_usage_args *);
+int rctl_get_racct(struct thread *, struct rctl_get_racct_args *);
int rctl_get_rules(struct thread *, struct rctl_get_rules_args *);
int rctl_get_limits(struct thread *, struct rctl_get_limits_args *);
int rctl_add_rule(struct thread *, struct rctl_add_rule_args *);
@@ -2757,7 +2757,7 @@
#define SYS_AUE_pselect AUE_SELECT
#define SYS_AUE_getloginclass AUE_NULL
#define SYS_AUE_setloginclass AUE_NULL
-#define SYS_AUE_rctl_get_usage AUE_NULL
+#define SYS_AUE_rctl_get_racct AUE_NULL
#define SYS_AUE_rctl_get_rules AUE_NULL
#define SYS_AUE_rctl_get_limits AUE_NULL
#define SYS_AUE_rctl_add_rule AUE_NULL
==== //depot/projects/soc2009/trasz_limits/usr.bin/rctl/Makefile#3 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD$
+# $FreeBSD: src/usr.bin/rctl/Makefile,v 1.1 2011/03/30 18:27:52 trasz Exp $
PROG= rctl
MAN= rctl.8
==== //depot/projects/soc2009/trasz_limits/usr.bin/rctl/rctl.8#11 (text+ko) ====
@@ -23,9 +23,9 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" $FreeBSD$
+.\" $FreeBSD: src/usr.bin/rctl/rctl.8,v 1.2 2011/03/30 20:13:55 trasz Exp $
.\"
-.Dd February 13, 2011
+.Dd March 30, 2011
.Dt RCTL 8
.Os
.Sh NAME
@@ -105,7 +105,7 @@
up to 100MB of virtual memory.
Rule "loginclass:users:vmem:deny=100M/user" would mean that for each
user belonging to the login class "users", the sum of virtual memory allocated
-by all the processes of a that user will not exceed 100MB.
+by all the processes of that user will not exceed 100MB.
Rule "loginclass:users:vmem:deny=100M/loginclass" would mean that the sum of
virtual memory allocated by all processes of all users belonging to that login
class will not exceed 100MB.
==== //depot/projects/soc2009/trasz_limits/usr.bin/rctl/rctl.c#7 (text+ko) ====
@@ -26,11 +26,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: src/usr.bin/rctl/rctl.c,v 1.1 2011/03/30 18:27:52 trasz Exp $
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: src/usr.bin/rctl/rctl.c,v 1.1 2011/03/30 18:27:52 trasz Exp $");
#include <sys/types.h>
#include <sys/rctl.h>
@@ -173,9 +173,11 @@
err(1, "expand_number");
if (per == NULL)
- asprintf(&expanded, "%s:%s:%s:%s=%ju", subject, subject_id, resource, action, (uintmax_t)num);
+ asprintf(&expanded, "%s:%s:%s:%s=%ju", subject, subject_id,
+ resource, action, (uintmax_t)num);
else
- asprintf(&expanded, "%s:%s:%s:%s=%ju/%s", subject, subject_id, resource, action, (uintmax_t)num, per);
+ asprintf(&expanded, "%s:%s:%s:%s=%ju/%s", subject, subject_id,
+ resource, action, (uintmax_t)num, per);
if (expanded == NULL)
err(1, "asprintf");
@@ -255,7 +257,8 @@
amount = strsep(©, "/");
per = copy;
- if (amount == NULL || strlen(amount) == 0 || str2int64(amount, &num) != 0) {
+ if (amount == NULL || strlen(amount) == 0 ||
+ str2int64(amount, &num) != 0) {
free(copy);
return (rule);
}
@@ -265,13 +268,16 @@
assert(resource != NULL);
assert(action != NULL);
- if (humanize_number(buf, sizeof(buf), num, "", HN_AUTOSCALE, HN_DECIMAL | HN_NOSPACE) == -1)
+ if (humanize_number(buf, sizeof(buf), num, "", HN_AUTOSCALE,
+ HN_DECIMAL | HN_NOSPACE) == -1)
err(1, "humanize_number");
if (per == NULL)
- asprintf(&humanized, "%s:%s:%s:%s=%s", subject, subject_id, resource, action, buf);
+ asprintf(&humanized, "%s:%s:%s:%s=%s", subject, subject_id,
+ resource, action, buf);
else
- asprintf(&humanized, "%s:%s:%s:%s=%s/%s", subject, subject_id, resource, action, buf, per);
+ asprintf(&humanized, "%s:%s:%s:%s=%s/%s", subject, subject_id,
+ resource, action, buf, per);
if (humanized == NULL)
err(1, "asprintf");
@@ -322,7 +328,8 @@
if (outbuf == NULL)
err(1, "realloc");
- error = rctl_get_limits(filter, strlen(filter) + 1, outbuf, outbuflen);
+ error = rctl_get_limits(filter, strlen(filter) + 1, outbuf,
+ outbuflen);
if (error && errno != ERANGE)
err(1, "rctl_get_limits");
} while (error && errno == ERANGE);
@@ -361,7 +368,8 @@
assert(amount != NULL);
if (str2int64(amount, &num) != 0 ||
- humanize_number(buf, sizeof(buf), num, "", HN_AUTOSCALE, HN_DECIMAL | HN_NOSPACE) == -1) {
+ humanize_number(buf, sizeof(buf), num, "", HN_AUTOSCALE,
+ HN_DECIMAL | HN_NOSPACE) == -1) {
free(copy);
return (usage);
}
@@ -389,7 +397,8 @@
if (outbuf == NULL)
err(1, "realloc");
- error = rctl_get_racct(filter, strlen(filter) + 1, outbuf, outbuflen);
+ error = rctl_get_racct(filter, strlen(filter) + 1, outbuf,
+ outbuflen);
if (error && errno != ERANGE)
err(1, "rctl_get_racct");
} while (error && errno == ERANGE);
@@ -429,7 +438,7 @@
if (outbuf == NULL)
err(1, "realloc");
- error = rctl_get_rules(filter, filterlen, outbuf, outbuflen);
+ error = rctl_get_rules(filter, filterlen, outbuf, outbuflen);
if (error && errno != ERANGE)
err(1, "rctl_get_rules");
} while (error && errno == ERANGE);
@@ -442,7 +451,8 @@
usage(void)
{
- fprintf(stderr, "usage: rctl [ -h ] [-a rule | -l filter | -r filter | -u filter | filter]\n");
+ fprintf(stderr, "usage: rctl [ -h ] [-a rule | -l filter | -r filter "
+ "| -u filter | filter]\n");
exit(1);
}
More information about the p4-projects
mailing list