2008-07-21 12:47:13

by Olaf Hering

[permalink] [raw]
Subject: asm-x86/processor-flags.h, CONFIG_* leaks


asm-x86/processor-flags.h is an exported header,
via 'make headers_install_all'

Please move X86_VM_MASK inside __KERNEL__


Olaf


2008-07-21 13:07:18

by Vegard Nossum

[permalink] [raw]
Subject: Re: asm-x86/processor-flags.h, CONFIG_* leaks

On Mon, Jul 21, 2008 at 2:46 PM, Olaf Hering <[email protected]> wrote:
>
> asm-x86/processor-flags.h is an exported header,
> via 'make headers_install_all'
>
> Please move X86_VM_MASK inside __KERNEL__

Oops, this seems to be my fault. Find the fix below.

As I stated in the original commit, this was tested with 'make
headers_check', so I can only guess that it's a merge fall-out.

Adrian Bunk pointed it out in my original submission, which is
why it was explicitly tested... But I just tested it again, and
why doesn't make headers_check catch it?

Sorry :-/


Vegard


>From d3795de8f7001aa1a485c52e2f0ce565dd1e23cf Mon Sep 17 00:00:00 2001
From: Vegard Nossum <[email protected]>
Date: Mon, 21 Jul 2008 14:54:23 +0200
Subject: [PATCH] x86: don't leak X86_VM_MASK in processor-flags.h

Apparently,

commit 6330a30a76c1e62d4b4ec238368957f8febf9113
Author: Vegard Nossum <[email protected]>
Date: Wed May 28 09:46:19 2008 +0200

x86: break mutual header inclusion

introduced some CONFIG names to processor-flags.h, which was exported in

commit 6093015db2bd9e70cf20cdd23be1a50733baafdd
Author: Ingo Molnar <[email protected]>
Date: Sun Mar 30 11:45:23 2008 +0200

x86: cleanup replace most vm86 flags with flags from processor-flags.h, fix

Fix it by wrapping the CONFIG parts in __KERNEL__.

Reported-by: Olaf Hering <[email protected]>
Signed-off-by: Vegard Nossum <[email protected]>
---
include/asm-x86/processor-flags.h | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/include/asm-x86/processor-flags.h b/include/asm-x86/processor-flags.h
index 092b39b..eff2ecd 100644
--- a/include/asm-x86/processor-flags.h
+++ b/include/asm-x86/processor-flags.h
@@ -88,10 +88,12 @@
#define CX86_ARR_BASE 0xc4
#define CX86_RCR_BASE 0xdc

+#ifdef __KERNEL__
#ifdef CONFIG_VM86
#define X86_VM_MASK X86_EFLAGS_VM
#else
#define X86_VM_MASK 0 /* No VM86 support */
#endif
+#endif

#endif /* __ASM_I386_PROCESSOR_FLAGS_H */
--
1.5.5.1

2008-07-21 13:08:57

by Olaf Hering

[permalink] [raw]
Subject: Re: asm-x86/processor-flags.h, CONFIG_* leaks

On Mon, Jul 21, Vegard Nossum wrote:

> why doesn't make headers_check catch it?

An automated grep -r CONFIG_ in the export dir is missing.

2008-07-21 13:32:10

by Vegard Nossum

[permalink] [raw]
Subject: Re: asm-x86/processor-flags.h, CONFIG_* leaks

On Mon, Jul 21, 2008 at 3:08 PM, Olaf Hering <[email protected]> wrote:
> On Mon, Jul 21, Vegard Nossum wrote:
>
>> why doesn't make headers_check catch it?
>
> An automated grep -r CONFIG_ in the export dir is missing.

Do you mean like this? (My INSTALL_HDR_PATH refers to the the usr/ of
the top-level kernel directory)

rm -rf usr/include/*
make headers_install
grep -r CONFIG_ usr/include/

...because this is turning up a rather lot of (80) occurences. Should
all this ideally be fixed in some way?


Vegard

--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036

2008-07-21 13:41:20

by Olaf Hering

[permalink] [raw]
Subject: Re: asm-x86/processor-flags.h, CONFIG_* leaks

On Mon, Jul 21, Vegard Nossum wrote:

> all this ideally be fixed in some way?

Yes, they should be moved inside __KERNEL__, or the header shouldnt be
exported at all.

2008-07-24 10:50:33

by Ingo Molnar

[permalink] [raw]
Subject: Re: asm-x86/processor-flags.h, CONFIG_* leaks


* Vegard Nossum <[email protected]> wrote:

> On Mon, Jul 21, 2008 at 2:46 PM, Olaf Hering <[email protected]> wrote:
> >
> > asm-x86/processor-flags.h is an exported header,
> > via 'make headers_install_all'
> >
> > Please move X86_VM_MASK inside __KERNEL__
>
> Oops, this seems to be my fault. Find the fix below.

applied to tip/x86/urgent, thanks Vegard and Olaf.

Ingo