Hi,

during the last GSoC various FEATURE macros where added to the system. Before committing them, I would like to get some review (like if macro is in the correct file, and for those FEATURES where the description was not taken from NOTES if the description is OK).

If nobody complains, I would like to commit this in 1-2 weeks. If you need more time to review, just tell me.

Here is the list of affected files (for those impatient ones which do not want to look at the attached patch before noticing that they are not interested to look at it):
---snip---
cam/cam.c
fs/nfsclient/nfs_clvfsops.c
fs/nfsserver/nfs_nfsdport.c
kern/kern_dtrace.c
kern/kern_ktr.c
kern/kern_ktrace.c
kern/kern_lock.c
kern/kern_lockstat.c
kern/kern_ntptime.c
kern/kern_pmc.c
kern/kern_prot.c
kern/ksched.c
kern/subr_mchain.c
kern/subr_stack.c
kern/sysv_msg.c
kern/sysv_sem.c
kern/sysv_shm.c
kern/uipc_cow.c
kern/uipc_mqueue.c
kern/uipc_sem.c
nfsclient/nfs_vfsops.c
nfsserver/nfs_serv.c
security/audit/audit.c
security/mac/mac_syscalls.c
---snip---

Thanks,
Alexander.

--
Most people in this society who aren't actively mad are,
at best, reformed or potential lunatics.
                -- Susan Sontag

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137
Index: cam/cam.c
===================================================================
--- cam/cam.c	(Revision 218482)
+++ cam/cam.c	(Arbeitskopie)
@@ -51,6 +51,9 @@
 #include <sys/libkern.h>
 #include <cam/cam_queue.h>
 #include <cam/cam_xpt.h>
+
+FEATURE(scbus, "SCSI devices support");
+
 #endif
 
 static int	camstatusentrycomp(const void *key, const void *member);
Index: fs/nfsclient/nfs_clvfsops.c
===================================================================
--- fs/nfsclient/nfs_clvfsops.c	(Revision 218482)
+++ fs/nfsclient/nfs_clvfsops.c	(Arbeitskopie)
@@ -73,6 +73,8 @@
 #include <fs/nfsclient/nfs.h>
 #include <fs/nfsclient/nfsdiskless.h>
 
+FEATURE(nfscl, "NFSv4 client");
+
 extern int nfscl_ticks;
 extern struct timeval nfsboottime;
 extern struct nfsstats	newnfsstats;
Index: fs/nfsserver/nfs_nfsdport.c
===================================================================
--- fs/nfsserver/nfs_nfsdport.c	(Revision 218482)
+++ fs/nfsserver/nfs_nfsdport.c	(Arbeitskopie)
@@ -46,6 +46,8 @@
 #include <nlm/nlm_prot.h>
 #include <nlm/nlm.h>
 
+FEATURE(nfsd, "NFSv4 server");
+
 extern u_int32_t newnfs_true, newnfs_false, newnfs_xdrneg1;
 extern int nfsrv_useacl;
 extern int newnfs_numnfsd;
Index: kern/kern_dtrace.c
===================================================================
--- kern/kern_dtrace.c	(Revision 218482)
+++ kern/kern_dtrace.c	(Arbeitskopie)
@@ -37,10 +37,14 @@
 #include <sys/malloc.h>
 #include <sys/proc.h>
 #include <sys/dtrace_bsd.h>
+#include <sys/sysctl.h>
 
 #define KDTRACE_PROC_SIZE	64
 #define	KDTRACE_THREAD_SIZE	256
 
+FEATURE(kdtrace_hooks,
+    "Kernel DTrace hooks which are required to load DTrace kernel modules");
+
 MALLOC_DEFINE(M_KDTRACE, "kdtrace", "DTrace hooks");
 
 /* Return the DTrace process data size compiled in the kernel hooks. */
Index: kern/kern_ktr.c
===================================================================
--- kern/kern_ktr.c	(Revision 218482)
+++ kern/kern_ktr.c	(Arbeitskopie)
@@ -80,6 +80,8 @@
 #define	KTR_CPU		PCPU_GET(cpuid)
 #endif
 
+FEATURE(ktr, "Kernel support for KTR kernel tracing facility");
+
 SYSCTL_NODE(_debug, OID_AUTO, ktr, CTLFLAG_RD, 0, "KTR options");
 
 int	ktr_cpumask = KTR_CPUMASK;
Index: kern/kern_ktrace.c
===================================================================
--- kern/kern_ktrace.c	(Revision 218482)
+++ kern/kern_ktrace.c	(Arbeitskopie)
@@ -83,6 +83,8 @@
 
 #ifdef KTRACE
 
+FEATURE(ktrace, "Kernel support for system-call tracing");
+
 #ifndef KTRACE_REQUEST_POOL
 #define	KTRACE_REQUEST_POOL	100
 #endif
Index: kern/kern_lock.c
===================================================================
--- kern/kern_lock.c	(Revision 218482)
+++ kern/kern_lock.c	(Arbeitskopie)
@@ -1299,6 +1299,10 @@
 }
 
 #ifdef INVARIANT_SUPPORT
+
+FEATURE(invariant_support,
+    "Support for modules compiled with INVARIANTS option");
+
 #ifndef INVARIANTS
 #undef	_lockmgr_assert
 #endif
Index: kern/kern_lockstat.c
===================================================================
--- kern/kern_lockstat.c	(Revision 218482)
+++ kern/kern_lockstat.c	(Arbeitskopie)
@@ -39,7 +39,10 @@
 #include <sys/time.h>
 #include <sys/types.h>
 #include <sys/lockstat.h>
-
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <sys/kernel.h>
+FEATURE(kdtrace_hooks, "Kernel DTRACE hooks");
 /*
  * The following must match the type definition of dtrace_probe.  It is  
  * defined this way to avoid having to rely on CDDL code.
Index: kern/kern_ntptime.c
===================================================================
--- kern/kern_ntptime.c	(Revision 218482)
+++ kern/kern_ntptime.c	(Arbeitskopie)
@@ -51,6 +51,10 @@
 #include <sys/syscallsubr.h>
 #include <sys/sysctl.h>
 
+#ifdef PPS_SYNC
+FEATURE(pps_sync, "Support usage of external PPS signal by kernel PLL");
+#endif
+
 /*
  * Single-precision macros for 64-bit machines
  */
Index: kern/kern_pmc.c
===================================================================
--- kern/kern_pmc.c	(Revision 218482)
+++ kern/kern_pmc.c	(Arbeitskopie)
@@ -37,8 +37,10 @@
 #include <sys/pmc.h>
 #include <sys/pmckern.h>
 #include <sys/smp.h>
+#include <sys/sysctl.h>
 
 #ifdef	HWPMC_HOOKS
+FEATURE(hwpmc_hooks, "Kernel support for HW PMC");
 #define	PMC_KERNEL_VERSION	PMC_VERSION
 #else
 #define	PMC_KERNEL_VERSION	0
Index: kern/kern_prot.c
===================================================================
--- kern/kern_prot.c	(Revision 218482)
+++ kern/kern_prot.c	(Arbeitskopie)
@@ -69,6 +69,11 @@
 #include <sys/syscallsubr.h>
 #include <sys/sysctl.h>
 
+#ifdef REGRESSION
+FEATURE(regression,
+    "Kernel support for interfaces nessesary for regression testing (SECURITY RISK!)");
+#endif
+
 #if defined(INET) || defined(INET6)
 #include <netinet/in.h>
 #include <netinet/in_pcb.h>
Index: kern/ksched.c
===================================================================
--- kern/ksched.c	(Revision 218482)
+++ kern/ksched.c	(Arbeitskopie)
@@ -41,12 +41,16 @@
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/lock.h>
+#include <sys/sysctl.h>
+#include <sys/kernel.h>
 #include <sys/mutex.h>
 #include <sys/proc.h>
 #include <sys/posix4.h>
 #include <sys/resource.h>
 #include <sys/sched.h>
 
+FEATURE(kposix_priority_scheduling, "POSIX P1003.1B realtime extensions");
+
 /* ksched: Real-time extension to support POSIX priority scheduling.
  */
 
Index: kern/subr_mchain.c
===================================================================
--- kern/subr_mchain.c	(Revision 218482)
+++ kern/subr_mchain.c	(Arbeitskopie)
@@ -32,6 +32,7 @@
 
 #include <sys/param.h>
 #include <sys/systm.h>
+#include <sys/sysctl.h>
 #include <sys/endian.h>
 #include <sys/errno.h>
 #include <sys/mbuf.h>
@@ -40,6 +41,8 @@
 
 #include <sys/mchain.h>
 
+FEATURE(libmchain, "mchain library");
+
 MODULE_VERSION(libmchain, 1);
 
 #define MBERROR(format, ...) printf("%s(%d): "format, __func__ , \
Index: kern/subr_stack.c
===================================================================
--- kern/subr_stack.c	(Revision 218482)
+++ kern/subr_stack.c	(Arbeitskopie)
@@ -39,7 +39,10 @@
 #include <sys/sbuf.h>
 #include <sys/stack.h>
 #include <sys/systm.h>
+#include <sys/sysctl.h>
 
+FEATURE(stack, "Support for capturing kernel stack");
+
 static MALLOC_DEFINE(M_STACK, "stack", "Stack Traces");
 
 static int stack_symbol(vm_offset_t pc, char *namebuf, u_int buflen,
Index: kern/sysv_msg.c
===================================================================
--- kern/sysv_msg.c	(Revision 218482)
+++ kern/sysv_msg.c	(Arbeitskopie)
@@ -72,6 +72,8 @@
 
 #include <security/mac/mac_framework.h>
 
+FEATURE(sysv_msg, "System V message queues support");
+
 static MALLOC_DEFINE(M_MSG, "msg", "SVID compatible message queues");
 
 static int msginit(void);
Index: kern/sysv_sem.c
===================================================================
--- kern/sysv_sem.c	(Revision 218482)
+++ kern/sysv_sem.c	(Arbeitskopie)
@@ -62,6 +62,8 @@
 
 #include <security/mac/mac_framework.h>
 
+FEATURE(sysv_sem, "System V semaphores support");
+
 static MALLOC_DEFINE(M_SEM, "sem", "SVID compatible semaphores");
 
 #ifdef SEM_DEBUG
Index: kern/sysv_shm.c
===================================================================
--- kern/sysv_shm.c	(Revision 218482)
+++ kern/sysv_shm.c	(Arbeitskopie)
@@ -95,6 +95,8 @@
 #include <vm/vm_page.h>
 #include <vm/vm_pager.h>
 
+FEATURE(sysv_shm, "System V shared memory segments support");
+
 static MALLOC_DEFINE(M_SHM, "shm", "SVID compatible shared memory segments");
 
 static int shmget_allocate_segment(struct thread *td,
Index: kern/uipc_cow.c
===================================================================
--- kern/uipc_cow.c	(Revision 218482)
+++ kern/uipc_cow.c	(Arbeitskopie)
@@ -40,6 +40,7 @@
 
 #include <sys/param.h>
 #include <sys/systm.h>
+#include <sys/sysctl.h>
 #include <sys/kernel.h>
 #include <sys/proc.h>
 #include <sys/lock.h>
@@ -57,6 +58,7 @@
 #include <vm/vm_page.h>
 #include <vm/vm_object.h>
 
+FEATURE(zero_copy_sockets, "Zero copy sockets support");
 
 struct netsend_cow_stats {
 	int attempted;
Index: kern/uipc_mqueue.c
===================================================================
--- kern/uipc_mqueue.c	(Revision 218482)
+++ kern/uipc_mqueue.c	(Arbeitskopie)
@@ -82,6 +82,8 @@
 #include <sys/vnode.h>
 #include <machine/atomic.h>
 
+FEATURE(p1003_1b_mqueue, "POSIX P1003.1B message queues support");
+
 /*
  * Limits and constants
  */
Index: kern/uipc_sem.c
===================================================================
--- kern/uipc_sem.c	(Revision 218482)
+++ kern/uipc_sem.c	(Arbeitskopie)
@@ -65,6 +65,7 @@
 
 #include <security/mac/mac_framework.h>
 
+FEATURE(p1003_1b_semaphores, "POSIX1003.1B semaphores support");
 /*
  * TODO
  *
Index: nfsclient/nfs_vfsops.c
===================================================================
--- nfsclient/nfs_vfsops.c	(Revision 218482)
+++ nfsclient/nfs_vfsops.c	(Arbeitskopie)
@@ -78,6 +78,8 @@
 #include <nfsclient/nfsm_subs.h>
 #include <nfsclient/nfsdiskless.h>
 
+FEATURE(nfsclient, "NFS client");
+
 MALLOC_DEFINE(M_NFSREQ, "nfsclient_req", "NFS request header");
 MALLOC_DEFINE(M_NFSBIGFH, "nfsclient_bigfh", "NFS version 3 file handle");
 MALLOC_DEFINE(M_NFSDIROFF, "nfsclient_diroff", "NFS directory offset data");
Index: nfsserver/nfs_serv.c
===================================================================
--- nfsserver/nfs_serv.c	(Revision 218482)
+++ nfsserver/nfs_serv.c	(Arbeitskopie)
@@ -97,6 +97,8 @@
 #include <nfs/xdr_subs.h>
 #include <nfsserver/nfsm_subs.h>
 
+FEATURE(nfsserver, "NFS server");
+
 #ifdef NFSRV_DEBUG
 #define nfsdbprintf(info)	printf info
 #else
Index: security/audit/audit.c
===================================================================
--- security/audit/audit.c	(Revision 218482)
+++ security/audit/audit.c	(Arbeitskopie)
@@ -72,6 +72,8 @@
 
 #include <vm/uma.h>
 
+FEATURE(audit, "BSM audit support");
+
 static uma_zone_t	audit_record_zone;
 static MALLOC_DEFINE(M_AUDITCRED, "audit_cred", "Audit cred storage");
 MALLOC_DEFINE(M_AUDITDATA, "audit_data", "Audit data storage");
Index: security/mac/mac_syscalls.c
===================================================================
--- security/mac/mac_syscalls.c	(Revision 218482)
+++ security/mac/mac_syscalls.c	(Arbeitskopie)
@@ -56,6 +56,7 @@
 #include <sys/mac.h>
 #include <sys/proc.h>
 #include <sys/systm.h>
+#include <sys/sysctl.h>
 #include <sys/sysproto.h>
 #include <sys/sysent.h>
 #include <sys/vnode.h>
@@ -72,6 +73,8 @@
 
 #ifdef MAC
 
+FEATURE(mac, "Mandatory Access Control support");
+
 int
 __mac_get_pid(struct thread *td, struct __mac_get_pid_args *uap)
 {
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to