From owner-svn-src-all@FreeBSD.ORG Fri Feb 25 10:11:02 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 50BF01065672; Fri, 25 Feb 2011 10:11:02 +0000 (UTC) (envelope-from netchild@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3D3448FC0C; Fri, 25 Feb 2011 10:11:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p1PAB2Aq024556; Fri, 25 Feb 2011 10:11:02 GMT (envelope-from netchild@svn.freebsd.org) Received: (from netchild@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1PAB1XR024532; Fri, 25 Feb 2011 10:11:01 GMT (envelope-from netchild@svn.freebsd.org) Message-Id: <201102251011.p1PAB1XR024532@svn.freebsd.org> From: Alexander Leidinger Date: Fri, 25 Feb 2011 10:11:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r219028 - in head/sys: cam fs/nfsclient fs/nfsserver kern nfsclient nfsserver security/audit security/mac X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Feb 2011 10:11:02 -0000 Author: netchild Date: Fri Feb 25 10:11:01 2011 New Revision: 219028 URL: http://svn.freebsd.org/changeset/base/219028 Log: Add some FEATURE macros for various features (AUDIT/CAM/IPC/KTR/MAC/NFS/NTP/ PMC/SYSV/...). No FreeBSD version bump, the userland application to query the features will be committed last and can serve as an indication of the availablility if needed. Sponsored by: Google Summer of Code 2010 Submitted by: kibab Reviewed by: arch@ (parts by rwatson, trasz, jhb) X-MFC after: to be determined in last commit with code from this project Modified: head/sys/cam/cam.c head/sys/fs/nfsclient/nfs_clvfsops.c head/sys/fs/nfsserver/nfs_nfsdport.c head/sys/kern/kern_dtrace.c head/sys/kern/kern_ktr.c head/sys/kern/kern_ktrace.c head/sys/kern/kern_lock.c head/sys/kern/kern_ntptime.c head/sys/kern/kern_pmc.c head/sys/kern/kern_prot.c head/sys/kern/ksched.c head/sys/kern/subr_mchain.c head/sys/kern/subr_stack.c head/sys/kern/sysv_msg.c head/sys/kern/sysv_sem.c head/sys/kern/sysv_shm.c head/sys/kern/uipc_cow.c head/sys/kern/uipc_mqueue.c head/sys/kern/uipc_sem.c head/sys/nfsclient/nfs_vfsops.c head/sys/nfsserver/nfs_serv.c head/sys/security/audit/audit.c head/sys/security/mac/mac_syscalls.c Modified: head/sys/cam/cam.c ============================================================================== --- head/sys/cam/cam.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/cam/cam.c Fri Feb 25 10:11:01 2011 (r219028) @@ -51,6 +51,9 @@ __FBSDID("$FreeBSD$"); #include #include #include + +FEATURE(scbus, "SCSI devices support"); + #endif static int camstatusentrycomp(const void *key, const void *member); Modified: head/sys/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvfsops.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/fs/nfsclient/nfs_clvfsops.c Fri Feb 25 10:11:01 2011 (r219028) @@ -73,6 +73,8 @@ __FBSDID("$FreeBSD$"); #include #include +FEATURE(nfscl, "NFSv4 client"); + extern int nfscl_ticks; extern struct timeval nfsboottime; extern struct nfsstats newnfsstats; Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Fri Feb 25 10:11:01 2011 (r219028) @@ -46,6 +46,8 @@ __FBSDID("$FreeBSD$"); #include #include +FEATURE(nfsd, "NFSv4 server"); + extern u_int32_t newnfs_true, newnfs_false, newnfs_xdrneg1; extern int nfsrv_useacl; extern int newnfs_numnfsd; Modified: head/sys/kern/kern_dtrace.c ============================================================================== --- head/sys/kern/kern_dtrace.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/kern_dtrace.c Fri Feb 25 10:11:01 2011 (r219028) @@ -37,10 +37,14 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #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. */ Modified: head/sys/kern/kern_ktr.c ============================================================================== --- head/sys/kern/kern_ktr.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/kern_ktr.c Fri Feb 25 10:11:01 2011 (r219028) @@ -80,6 +80,8 @@ __FBSDID("$FreeBSD$"); #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; Modified: head/sys/kern/kern_ktrace.c ============================================================================== --- head/sys/kern/kern_ktrace.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/kern_ktrace.c Fri Feb 25 10:11:01 2011 (r219028) @@ -83,6 +83,8 @@ static MALLOC_DEFINE(M_KTRACE, "KTRACE", #ifdef KTRACE +FEATURE(ktrace, "Kernel support for system-call tracing"); + #ifndef KTRACE_REQUEST_POOL #define KTRACE_REQUEST_POOL 100 #endif Modified: head/sys/kern/kern_lock.c ============================================================================== --- head/sys/kern/kern_lock.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/kern_lock.c Fri Feb 25 10:11:01 2011 (r219028) @@ -1299,6 +1299,10 @@ lockstatus(struct lock *lk) } #ifdef INVARIANT_SUPPORT + +FEATURE(invariant_support, + "Support for modules compiled with INVARIANTS option"); + #ifndef INVARIANTS #undef _lockmgr_assert #endif Modified: head/sys/kern/kern_ntptime.c ============================================================================== --- head/sys/kern/kern_ntptime.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/kern_ntptime.c Fri Feb 25 10:11:01 2011 (r219028) @@ -51,6 +51,10 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef PPS_SYNC +FEATURE(pps_sync, "Support usage of external PPS signal by kernel PLL"); +#endif + /* * Single-precision macros for 64-bit machines */ Modified: head/sys/kern/kern_pmc.c ============================================================================== --- head/sys/kern/kern_pmc.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/kern_pmc.c Fri Feb 25 10:11:01 2011 (r219028) @@ -37,8 +37,10 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #ifdef HWPMC_HOOKS +FEATURE(hwpmc_hooks, "Kernel support for HW PMC"); #define PMC_KERNEL_VERSION PMC_VERSION #else #define PMC_KERNEL_VERSION 0 Modified: head/sys/kern/kern_prot.c ============================================================================== --- head/sys/kern/kern_prot.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/kern_prot.c Fri Feb 25 10:11:01 2011 (r219028) @@ -69,6 +69,11 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef REGRESSION +FEATURE(regression, + "Kernel support for interfaces nessesary for regression testing (SECURITY RISK!)"); +#endif + #if defined(INET) || defined(INET6) #include #include Modified: head/sys/kern/ksched.c ============================================================================== --- head/sys/kern/ksched.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/ksched.c Fri Feb 25 10:11:01 2011 (r219028) @@ -41,12 +41,16 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include #include #include #include +FEATURE(kposix_priority_scheduling, "POSIX P1003.1B realtime extensions"); + /* ksched: Real-time extension to support POSIX priority scheduling. */ Modified: head/sys/kern/subr_mchain.c ============================================================================== --- head/sys/kern/subr_mchain.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/subr_mchain.c Fri Feb 25 10:11:01 2011 (r219028) @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -40,6 +41,8 @@ __FBSDID("$FreeBSD$"); #include +FEATURE(libmchain, "mchain library"); + MODULE_VERSION(libmchain, 1); #define MBERROR(format, ...) printf("%s(%d): "format, __func__ , \ Modified: head/sys/kern/subr_stack.c ============================================================================== --- head/sys/kern/subr_stack.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/subr_stack.c Fri Feb 25 10:11:01 2011 (r219028) @@ -39,6 +39,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include + +FEATURE(stack, "Support for capturing kernel stack"); static MALLOC_DEFINE(M_STACK, "stack", "Stack Traces"); Modified: head/sys/kern/sysv_msg.c ============================================================================== --- head/sys/kern/sysv_msg.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/sysv_msg.c Fri Feb 25 10:11:01 2011 (r219028) @@ -72,6 +72,8 @@ __FBSDID("$FreeBSD$"); #include +FEATURE(sysv_msg, "System V message queues support"); + static MALLOC_DEFINE(M_MSG, "msg", "SVID compatible message queues"); static int msginit(void); Modified: head/sys/kern/sysv_sem.c ============================================================================== --- head/sys/kern/sysv_sem.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/sysv_sem.c Fri Feb 25 10:11:01 2011 (r219028) @@ -62,6 +62,8 @@ __FBSDID("$FreeBSD$"); #include +FEATURE(sysv_sem, "System V semaphores support"); + static MALLOC_DEFINE(M_SEM, "sem", "SVID compatible semaphores"); #ifdef SEM_DEBUG Modified: head/sys/kern/sysv_shm.c ============================================================================== --- head/sys/kern/sysv_shm.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/sysv_shm.c Fri Feb 25 10:11:01 2011 (r219028) @@ -95,6 +95,8 @@ __FBSDID("$FreeBSD$"); #include #include +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, Modified: head/sys/kern/uipc_cow.c ============================================================================== --- head/sys/kern/uipc_cow.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/uipc_cow.c Fri Feb 25 10:11:01 2011 (r219028) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -57,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include +FEATURE(zero_copy_sockets, "Zero copy sockets support"); struct netsend_cow_stats { int attempted; Modified: head/sys/kern/uipc_mqueue.c ============================================================================== --- head/sys/kern/uipc_mqueue.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/uipc_mqueue.c Fri Feb 25 10:11:01 2011 (r219028) @@ -82,6 +82,8 @@ __FBSDID("$FreeBSD$"); #include #include +FEATURE(p1003_1b_mqueue, "POSIX P1003.1B message queues support"); + /* * Limits and constants */ Modified: head/sys/kern/uipc_sem.c ============================================================================== --- head/sys/kern/uipc_sem.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/kern/uipc_sem.c Fri Feb 25 10:11:01 2011 (r219028) @@ -65,6 +65,7 @@ __FBSDID("$FreeBSD$"); #include +FEATURE(p1003_1b_semaphores, "POSIX1003.1B semaphores support"); /* * TODO * Modified: head/sys/nfsclient/nfs_vfsops.c ============================================================================== --- head/sys/nfsclient/nfs_vfsops.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/nfsclient/nfs_vfsops.c Fri Feb 25 10:11:01 2011 (r219028) @@ -78,6 +78,8 @@ __FBSDID("$FreeBSD$"); #include #include +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"); Modified: head/sys/nfsserver/nfs_serv.c ============================================================================== --- head/sys/nfsserver/nfs_serv.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/nfsserver/nfs_serv.c Fri Feb 25 10:11:01 2011 (r219028) @@ -97,6 +97,8 @@ __FBSDID("$FreeBSD$"); #include #include +FEATURE(nfsserver, "NFS server"); + #ifdef NFSRV_DEBUG #define nfsdbprintf(info) printf info #else Modified: head/sys/security/audit/audit.c ============================================================================== --- head/sys/security/audit/audit.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/security/audit/audit.c Fri Feb 25 10:11:01 2011 (r219028) @@ -72,6 +72,8 @@ __FBSDID("$FreeBSD$"); #include +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"); Modified: head/sys/security/mac/mac_syscalls.c ============================================================================== --- head/sys/security/mac/mac_syscalls.c Fri Feb 25 09:40:17 2011 (r219027) +++ head/sys/security/mac/mac_syscalls.c Fri Feb 25 10:11:01 2011 (r219028) @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -72,6 +73,8 @@ __FBSDID("$FreeBSD$"); #ifdef MAC +FEATURE(mac, "Mandatory Access Control Framework support"); + int __mac_get_pid(struct thread *td, struct __mac_get_pid_args *uap) {