Re: [PATCH] x86: break mutual header inclusion

From: Adrian Bunk
Date: Tue May 27 2008 - 17:41:33 EST


On Tue, May 27, 2008 at 10:49:26PM +0200, Vegard Nossum wrote:
> Hi,
>
> What do you think about this? The new file (vm86_mask.h) could actually be
> embedded completely in processor-flags.h, but I went for what I believe is
> the safer approach.

Breaking the mutual header inclusion is appreciated, but some comments
are below.

> This has been compile tested on x86_32 and x86_64 defconfig.
>
> Vegard
>...
> --- a/include/asm-x86/ptrace.h
> +++ b/include/asm-x86/ptrace.h
> @@ -2,8 +2,10 @@
> #define _ASM_X86_PTRACE_H
>
> #include <linux/compiler.h> /* For __user */
> +#include <asm/ds.h> /* the DS BTS struct is used for ptrace too */
> +#include <asm/segment.h>
> #include <asm/ptrace-abi.h>
> -
> +#include <asm/vm86_mask.h>
>
> #ifndef __ASSEMBLY__
>
> @@ -55,9 +57,6 @@ struct pt_regs {
> unsigned long ss;
> };
>
> -#include <asm/vm86.h>
> -#include <asm/segment.h>
> -
> #endif /* __KERNEL__ */
>
> #else /* __i386__ */
> @@ -127,9 +126,6 @@ struct pt_regs {
>
> #ifdef __KERNEL__
>
> -/* the DS BTS struct is used for ptrace as well */
> -#include <asm/ds.h>
> -
> struct task_struct;
>
> extern void ptrace_bts_take_timestamp(struct task_struct *, enum bts_qualifier);

Moving #include's out of an #ifdef __KERNEL__ can (and does here) break
our userspace headers.

Running "make headers_check" after touching anything under include/ is
recommended since it catches these problems.

>...
> --- /dev/null
> +++ b/include/asm-x86/vm86_mask.h
> @@ -0,0 +1,12 @@
> +#ifndef ASM_X86_VM86_MASK
> +#define ASM_X86_VM86_MASK
> +
> +#include <asm/processor-flags.h>
> +
> +#ifdef CONFIG_VM86
> +#define X86_VM_MASK X86_EFLAGS_VM
> +#else
> +#define X86_VM_MASK 0 /* No VM86 support */
> +#endif
> +
> +#endif

Do we need a new header for this or can it go into processor-flags.h ?

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/