Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Aug 2011 19:17:44 GMT
From:      Robert Millan <rmh@debian.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/159654: 46 kernel headers use register_t but don't #include <sys/types.h>
Message-ID:  <201108101917.p7AJHin7006109@red.freebsd.org>
Resent-Message-ID: <201108101920.p7AJK9Y8080324@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         159654
>Category:       misc
>Synopsis:       46 kernel headers use register_t but don't #include <sys/types.h>
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 10 19:20:09 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Robert Millan
>Release:        FreeBSD 8.1
>Organization:
>Environment:
GNU/kFreeBSD thorin 8.1-1-amd64 #0 Wed Aug 10 13:58:08 CEST 2011 x86_64 amd64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ GNU/kFreeBSD

>Description:
The following headers use register_t but don't #include <sys/types.h>:

arm/include/frame.h
arm/include/profile.h
arm/include/proc.h
powerpc/include/ucontext.h
powerpc/include/pcb.h
powerpc/include/spr.h
powerpc/include/reg.h
powerpc/include/_align.h
powerpc/include/profile.h
powerpc/include/pcpu.h
powerpc/include/pmap.h
powerpc/include/proc.h
sparc64/include/smp.h
sparc64/include/profile.h
sparc64/include/cpufunc.h
sparc64/include/proc.h
ia64/include/profile.h
ia64/include/proc.h
mips/include/sigframe.h
mips/include/ucontext.h
mips/include/pcb.h
mips/include/db_machdep.h
mips/include/reg.h
mips/include/frame.h
mips/include/proc.h
mips/include/trap.h
ofed/include/linux/sched.h
x86/include/_align.h
i386/include/sigframe.h
i386/include/apicvar.h
i386/include/profile.h
i386/include/cpufunc.h
i386/include/proc.h
amd64/include/pcb.h
amd64/include/reg.h
amd64/include/apicvar.h
amd64/include/frame.h
amd64/include/intr_machdep.h
amd64/include/profile.h
amd64/include/cpufunc.h
amd64/include/pcpu.h
amd64/include/proc.h
sys/sysproto.h
sys/sysent.h
sys/proc.h
sys/ktrace.h

>How-To-Repeat:

>Fix:
Please consider attached patch to add the missing #include.


Patch attached with submission follows:

Index: arm/include/frame.h
===================================================================
--- arm/include/frame.h	(revision 224762)
+++ arm/include/frame.h	(working copy)
@@ -52,6 +52,7 @@
 #ifndef _LOCORE
 
 #include <sys/signal.h>
+#include <sys/types.h>
 #include <sys/ucontext.h>
 
 
Index: arm/include/profile.h
===================================================================
--- arm/include/profile.h	(revision 224762)
+++ arm/include/profile.h	(working copy)
@@ -37,6 +37,8 @@
 #ifndef _MACHINE_PROFILE_H_
 #define	_MACHINE_PROFILE_H_
 
+#include <sys/types.h>
+
 /*
  * Config generates something to tell the compiler to align functions on 32 
  * byte boundaries.  A strict alignment is good for keeping the tables small.
Index: arm/include/proc.h
===================================================================
--- arm/include/proc.h	(revision 224762)
+++ arm/include/proc.h	(working copy)
@@ -38,6 +38,7 @@
 #ifndef	_MACHINE_PROC_H_
 #define	_MACHINE_PROC_H_
 
+#include <sys/types.h>
 #include <machine/utrap.h>
 
 struct md_utrap {
Index: powerpc/include/ucontext.h
===================================================================
--- powerpc/include/ucontext.h	(revision 224762)
+++ powerpc/include/ucontext.h	(working copy)
@@ -35,6 +35,8 @@
 #ifndef	_MACHINE_UCONTEXT_H_
 #define	_MACHINE_UCONTEXT_H_
 
+#include <sys/types.h>
+
 typedef struct __mcontext {
 	int		mc_vers;
 	int		mc_flags;
Index: powerpc/include/pcb.h
===================================================================
--- powerpc/include/pcb.h	(revision 224762)
+++ powerpc/include/pcb.h	(working copy)
@@ -35,6 +35,8 @@
 #ifndef _MACHINE_PCB_H_
 #define	_MACHINE_PCB_H_
 
+#include <sys/types.h>
+
 typedef register_t faultbuf[25];
 
 struct pcb {
Index: powerpc/include/spr.h
===================================================================
--- powerpc/include/spr.h	(revision 224762)
+++ powerpc/include/spr.h	(working copy)
@@ -29,6 +29,8 @@
 #ifndef _POWERPC_SPR_H_
 #define	_POWERPC_SPR_H_
 
+#include <sys/types.h>
+
 #ifndef _LOCORE
 #define	mtspr(reg, val)							\
 	__asm __volatile("mtspr %0,%1" : : "K"(reg), "r"(val))
Index: powerpc/include/reg.h
===================================================================
--- powerpc/include/reg.h	(revision 224762)
+++ powerpc/include/reg.h	(working copy)
@@ -4,6 +4,8 @@
 #ifndef _POWERPC_REG_H_
 #define	_POWERPC_REG_H_
 
+#include <sys/types.h>
+
 #if defined(_KERNEL) && !defined(KLD_MODULE) && !defined(_STANDALONE)
 #include "opt_compat.h"
 #endif
Index: powerpc/include/_align.h
===================================================================
--- powerpc/include/_align.h	(revision 224762)
+++ powerpc/include/_align.h	(working copy)
@@ -41,6 +41,8 @@
 #ifndef _POWERPC_INCLUDE__ALIGN_H_
 #define	_POWERPC_INCLUDE__ALIGN_H_
 
+#include <sys/types.h>
+
 /*
  * Round p (pointer or byte index) up to a correctly-aligned value
  * for all data types (int, long, ...).   The result is unsigned int
Index: powerpc/include/profile.h
===================================================================
--- powerpc/include/profile.h	(revision 224762)
+++ powerpc/include/profile.h	(working copy)
@@ -32,6 +32,8 @@
 #ifndef _MACHINE_PROFILE_H_
 #define	_MACHINE_PROFILE_H_
 
+#include <sys/types.h>
+
 #define	_MCOUNT_DECL	void __mcount
 
 #define	FUNCTION_ALIGNMENT	4
Index: powerpc/include/pcpu.h
===================================================================
--- powerpc/include/pcpu.h	(revision 224762)
+++ powerpc/include/pcpu.h	(working copy)
@@ -30,6 +30,7 @@
 #ifndef	_MACHINE_PCPU_H_
 #define	_MACHINE_PCPU_H_
 
+#include <sys/types.h>
 #include <machine/cpufunc.h>
 #include <machine/slb.h>
 #include <machine/tlb.h>
Index: powerpc/include/pmap.h
===================================================================
--- powerpc/include/pmap.h	(revision 224762)
+++ powerpc/include/pmap.h	(working copy)
@@ -66,6 +66,7 @@
 
 #include <sys/queue.h>
 #include <sys/tree.h>
+#include <sys/types.h>
 #include <sys/_cpuset.h>
 #include <sys/_lock.h>
 #include <sys/_mutex.h>
Index: powerpc/include/proc.h
===================================================================
--- powerpc/include/proc.h	(revision 224762)
+++ powerpc/include/proc.h	(working copy)
@@ -35,6 +35,8 @@
 #ifndef _MACHINE_PROC_H_
 #define	_MACHINE_PROC_H_
 
+#include <sys/types.h>
+
 /*
  * Machine-dependent part of the proc structure
  */
Index: sparc64/include/smp.h
===================================================================
--- sparc64/include/smp.h	(revision 224762)
+++ sparc64/include/smp.h	(working copy)
@@ -30,6 +30,8 @@
 #ifndef	_MACHINE_SMP_H_
 #define	_MACHINE_SMP_H_
 
+#include <sys/types.h>
+
 #ifdef SMP
 
 #define	CPU_TICKSYNC		1
Index: sparc64/include/profile.h
===================================================================
--- sparc64/include/profile.h	(revision 224762)
+++ sparc64/include/profile.h	(working copy)
@@ -32,6 +32,8 @@
 #ifndef _MACHINE_PROFILE_H_
 #define	_MACHINE_PROFILE_H_
 
+#include <sys/types.h>
+
 #if !defined(_KERNEL) && !defined(_SYS_CDEFS_H_)
 #error this file needs sys/cdefs.h as a prerequisite
 #endif
Index: sparc64/include/cpufunc.h
===================================================================
--- sparc64/include/cpufunc.h	(revision 224762)
+++ sparc64/include/cpufunc.h	(working copy)
@@ -29,6 +29,7 @@
 #ifndef	_MACHINE_CPUFUNC_H_
 #define	_MACHINE_CPUFUNC_H_
 
+#include <sys/types.h>
 #include <machine/asi.h>
 #include <machine/pstate.h>
 
Index: sparc64/include/proc.h
===================================================================
--- sparc64/include/proc.h	(revision 224762)
+++ sparc64/include/proc.h	(working copy)
@@ -34,6 +34,7 @@
 #ifndef	_MACHINE_PROC_H_
 #define	_MACHINE_PROC_H_
 
+#include <sys/types.h>
 #include <machine/utrap.h>
 
 struct md_utrap {
Index: ia64/include/profile.h
===================================================================
--- ia64/include/profile.h	(revision 224762)
+++ ia64/include/profile.h	(working copy)
@@ -29,6 +29,8 @@
 #ifndef _MACHINE_PROFILE_H_
 #define	_MACHINE_PROFILE_H_
 
+#include <sys/types.h>
+
 #define	_MCOUNT_DECL	void __mcount
 #define	MCOUNT
 
Index: ia64/include/proc.h
===================================================================
--- ia64/include/proc.h	(revision 224762)
+++ ia64/include/proc.h	(working copy)
@@ -29,6 +29,8 @@
 #ifndef _MACHINE_PROC_H_
 #define	_MACHINE_PROC_H_
 
+#include <sys/types.h>
+
 struct mdthread {
 	int	md_spinlock_count;	/* (k) */
 	int	md_saved_intr;		/* (k) */
Index: mips/include/sigframe.h
===================================================================
--- mips/include/sigframe.h	(revision 224762)
+++ mips/include/sigframe.h	(working copy)
@@ -32,6 +32,8 @@
 #ifndef _MACHINE_SIGFRAME_H_
 #define	_MACHINE_SIGFRAME_H_
 
+#include <sys/types.h>
+
 /*
  * WARNING: code in locore.s assumes the layout shown for sf_signum
  * thru sf_addr so... don't alter them!
Index: mips/include/ucontext.h
===================================================================
--- mips/include/ucontext.h	(revision 224762)
+++ mips/include/ucontext.h	(working copy)
@@ -37,6 +37,8 @@
 #ifndef _MACHINE_UCONTEXT_H_
 #define	_MACHINE_UCONTEXT_H_
 
+#include <sys/types.h>
+
 #ifndef _LOCORE
 
 typedef struct	__mcontext {
Index: mips/include/pcb.h
===================================================================
--- mips/include/pcb.h	(revision 224762)
+++ mips/include/pcb.h	(working copy)
@@ -42,6 +42,7 @@
 #ifndef _MACHINE_PCB_H_
 #define	_MACHINE_PCB_H_
 
+#include <sys/types.h>
 #include <machine/frame.h>
 
 /*
Index: mips/include/db_machdep.h
===================================================================
--- mips/include/db_machdep.h	(revision 224762)
+++ mips/include/db_machdep.h	(working copy)
@@ -37,6 +37,7 @@
 #ifndef	_MIPS_DB_MACHDEP_H_
 #define	_MIPS_DB_MACHDEP_H_
 
+#include <sys/types.h>
 #include <machine/frame.h>
 #include <machine/trap.h>
 #include <machine/endian.h>
Index: mips/include/reg.h
===================================================================
--- mips/include/reg.h	(revision 224762)
+++ mips/include/reg.h	(working copy)
@@ -42,6 +42,8 @@
 #ifndef _MACHINE_REG_H_
 #define	_MACHINE_REG_H_
 
+#include <sys/types.h>
+
 /*
  * Location of the users' stored registers relative to ZERO.
  * must be visible to assembly code.
Index: mips/include/frame.h
===================================================================
--- mips/include/frame.h	(revision 224762)
+++ mips/include/frame.h	(working copy)
@@ -37,6 +37,8 @@
 #ifndef _MACHINE_FRAME_H_
 #define	_MACHINE_FRAME_H_
 
+#include <sys/types.h>
+
 struct trapframe {
 	register_t	zero;
 	register_t	ast;
Index: mips/include/proc.h
===================================================================
--- mips/include/proc.h	(revision 224762)
+++ mips/include/proc.h	(working copy)
@@ -39,6 +39,8 @@
 #ifndef _MACHINE_PROC_H_
 #define	_MACHINE_PROC_H_
 
+#include <sys/types.h>
+
 /*
  * Machine-dependent part of the proc structure.
  */
Index: mips/include/trap.h
===================================================================
--- mips/include/trap.h	(revision 224762)
+++ mips/include/trap.h	(working copy)
@@ -42,6 +42,8 @@
 #ifndef _MACHINE_TRAP_H_
 #define	_MACHINE_TRAP_H_
 
+#include <sys/types.h>
+
 /*
  * Trap codes also known in trap.c for name strings.
  * Used for indexing so modify with care.
Index: ofed/include/linux/sched.h
===================================================================
--- ofed/include/linux/sched.h	(revision 224762)
+++ ofed/include/linux/sched.h	(working copy)
@@ -33,6 +33,7 @@
 #include <sys/proc.h>
 #include <sys/sched.h>
 #include <sys/sleepqueue.h>
+#include <sys/types.h>
 
 #define	MAX_SCHEDULE_TIMEOUT	LONG_MAX
 
Index: x86/include/_align.h
===================================================================
--- x86/include/_align.h	(revision 224762)
+++ x86/include/_align.h	(working copy)
@@ -41,6 +41,8 @@
 #ifndef _X86_INCLUDE__ALIGN_H_
 #define	_X86_INCLUDE__ALIGN_H_
 
+#include <sys/types.h>
+
 /*
  * Round p (pointer or byte index) up to a correctly-aligned value
  * for all data types (int, long, ...).   The result is unsigned int
Index: i386/include/sigframe.h
===================================================================
--- i386/include/sigframe.h	(revision 224762)
+++ i386/include/sigframe.h	(working copy)
@@ -31,6 +31,8 @@
 #ifndef _MACHINE_SIGFRAME_H_
 #define	_MACHINE_SIGFRAME_H_
 
+#include <sys/types.h>
+
 /*
  * Signal frames, arguments passed to application signal handlers.
  */
Index: i386/include/apicvar.h
===================================================================
--- i386/include/apicvar.h	(revision 224762)
+++ i386/include/apicvar.h	(working copy)
@@ -32,6 +32,8 @@
 #ifndef _MACHINE_APICVAR_H_
 #define _MACHINE_APICVAR_H_
 
+#include <sys/types.h>
+
 /*
  * Local && I/O APIC variable definitions.
  */
Index: i386/include/profile.h
===================================================================
--- i386/include/profile.h	(revision 224762)
+++ i386/include/profile.h	(working copy)
@@ -33,6 +33,8 @@
 #ifndef _MACHINE_PROFILE_H_
 #define	_MACHINE_PROFILE_H_
 
+#include <sys/types.h>
+
 #ifndef _SYS_CDEFS_H_
 #error this file needs sys/cdefs.h as a prerequisite
 #endif
Index: i386/include/cpufunc.h
===================================================================
--- i386/include/cpufunc.h	(revision 224762)
+++ i386/include/cpufunc.h	(working copy)
@@ -38,6 +38,8 @@
 #ifndef _MACHINE_CPUFUNC_H_
 #define	_MACHINE_CPUFUNC_H_
 
+#include <sys/types.h>
+
 #ifndef _SYS_CDEFS_H_
 #error this file needs sys/cdefs.h as a prerequisite
 #endif
Index: i386/include/proc.h
===================================================================
--- i386/include/proc.h	(revision 224762)
+++ i386/include/proc.h	(working copy)
@@ -33,6 +33,7 @@
 #ifndef _MACHINE_PROC_H_
 #define	_MACHINE_PROC_H_
 
+#include <sys/types.h>
 #include <machine/segments.h>
 
 struct proc_ldt {
Index: amd64/include/pcb.h
===================================================================
--- amd64/include/pcb.h	(revision 224762)
+++ amd64/include/pcb.h	(working copy)
@@ -40,6 +40,7 @@
 /*
  * AMD64 process control block
  */
+#include <sys/types.h>
 #include <machine/fpu.h>
 #include <machine/segments.h>
 
Index: amd64/include/reg.h
===================================================================
--- amd64/include/reg.h	(revision 224762)
+++ amd64/include/reg.h	(working copy)
@@ -37,6 +37,8 @@
 #ifndef _MACHINE_REG_H_
 #define	_MACHINE_REG_H_
 
+#include <sys/types.h>
+
 #if defined(_KERNEL) && !defined(_STANDALONE)
 #include "opt_compat.h"
 #endif
Index: amd64/include/apicvar.h
===================================================================
--- amd64/include/apicvar.h	(revision 224762)
+++ amd64/include/apicvar.h	(working copy)
@@ -32,6 +32,7 @@
 #ifndef _MACHINE_APICVAR_H_
 #define _MACHINE_APICVAR_H_
 
+#include <sys/types.h>
 #include <machine/segments.h>
 
 /*
Index: amd64/include/frame.h
===================================================================
--- amd64/include/frame.h	(revision 224762)
+++ amd64/include/frame.h	(working copy)
@@ -37,6 +37,8 @@
 #ifndef _MACHINE_FRAME_H_
 #define _MACHINE_FRAME_H_ 1
 
+#include <sys/types.h>
+
 /*
  * System stack frames.
  */
Index: amd64/include/intr_machdep.h
===================================================================
--- amd64/include/intr_machdep.h	(revision 224762)
+++ amd64/include/intr_machdep.h	(working copy)
@@ -29,6 +29,8 @@
 #ifndef __MACHINE_INTR_MACHDEP_H__
 #define	__MACHINE_INTR_MACHDEP_H__
 
+#include <sys/types.h>
+
 #ifdef _KERNEL
 
 /*
Index: amd64/include/profile.h
===================================================================
--- amd64/include/profile.h	(revision 224762)
+++ amd64/include/profile.h	(working copy)
@@ -33,6 +33,8 @@
 #ifndef _MACHINE_PROFILE_H_
 #define	_MACHINE_PROFILE_H_
 
+#include <sys/types.h>
+
 #ifndef _SYS_CDEFS_H_
 #error this file needs sys/cdefs.h as a prerequisite
 #endif
Index: amd64/include/cpufunc.h
===================================================================
--- amd64/include/cpufunc.h	(revision 224762)
+++ amd64/include/cpufunc.h	(working copy)
@@ -39,6 +39,8 @@
 #ifndef _MACHINE_CPUFUNC_H_
 #define	_MACHINE_CPUFUNC_H_
 
+#include <sys/types.h>
+
 #ifndef _SYS_CDEFS_H_
 #error this file needs sys/cdefs.h as a prerequisite
 #endif
Index: amd64/include/pcpu.h
===================================================================
--- amd64/include/pcpu.h	(revision 224762)
+++ amd64/include/pcpu.h	(working copy)
@@ -29,6 +29,8 @@
 #ifndef _MACHINE_PCPU_H_
 #define	_MACHINE_PCPU_H_
 
+#include <sys/types.h>
+
 #ifndef _SYS_CDEFS_H_
 #error "sys/cdefs.h is a prerequisite for this file"
 #endif
Index: amd64/include/proc.h
===================================================================
--- amd64/include/proc.h	(revision 224762)
+++ amd64/include/proc.h	(working copy)
@@ -33,6 +33,7 @@
 #ifndef _MACHINE_PROC_H_
 #define	_MACHINE_PROC_H_
 
+#include <sys/types.h>
 #include <machine/segments.h>
 
 struct proc_ldt {
Index: sys/sysproto.h
===================================================================
--- sys/sysproto.h	(revision 224762)
+++ sys/sysproto.h	(working copy)
@@ -14,6 +14,7 @@
 #include <sys/cpuset.h>
 #include <sys/_semaphore.h>
 #include <sys/ucontext.h>
+#include <sys/types.h>
 
 #include <bsm/audit_kevents.h>
 
Index: sys/sysent.h
===================================================================
--- sys/sysent.h	(revision 224762)
+++ sys/sysent.h	(working copy)
@@ -33,6 +33,7 @@
 #define	_SYS_SYSENT_H_
 
 #include <bsm/audit.h>
+#include <sys/types.h>
 
 struct rlimit;
 struct sysent;
Index: sys/proc.h
===================================================================
--- sys/proc.h	(revision 224762)
+++ sys/proc.h	(working copy)
@@ -61,6 +61,7 @@
 #else
 #include <sys/pcpu.h>
 #endif
+#include <sys/types.h>
 #include <sys/ucontext.h>
 #include <sys/ucred.h>
 #include <machine/proc.h>		/* Machine-dependent proc substruct. */
Index: sys/ktrace.h
===================================================================
--- sys/ktrace.h	(revision 224762)
+++ sys/ktrace.h	(working copy)
@@ -33,6 +33,8 @@
 #ifndef _SYS_KTRACE_H_
 #define _SYS_KTRACE_H_
 
+#include <sys/types.h>
+
 /*
  * operations to ktrace system call  (KTROP(op))
  */


>Release-Note:
>Audit-Trail:
>Unformatted:



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