lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080527213819.GC11310@cs181133002.pp.htv.fi>
Date:	Wed, 28 May 2008 00:38:19 +0300
From:	Adrian Bunk <bunk@...nel.org>
To:	Vegard Nossum <vegard.nossum@...il.com>
Cc:	Ingo Molnar <mingo@...e.hu>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] x86: break mutual header inclusion

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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ