lkml.org 
[lkml]   [2008]   [Apr]   [20]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateSun, 20 Apr 2008 22:02:17 +0300
FromAdrian Bunk <>
Subject[2.6 patch] fix asm-x86/{posix_types,unistd}.h
On Sun, Apr 20, 2008 at 12:04:53AM +0800, Jeff Chua wrote:
>
> Linus,
>
> The latest git download changes the behavior of posix_types.h such that  
> non-kernel programs are no longer able to include posix types (e.g. 
> xserver can no longer be compiled).
>
> I don't know whether this is intended or a bug.

Thanks for reporting this bug.

Commit e40c0fe6b0b5dd16aec3c0dad311d36b19d78fd9
(x86: cleanup duplicate includes) contains no indication
this was intentional.

@Joe:
Please be more careful in the future.

@Ingo:
A proper review of the patch could have caught this bug that now made it 
into a stable kernel.

> Attached is a patch to allow __i386__ as was done in the past.
> 
> Thanks,
> Jeff.
>
>
> --- linux-2.6/include/asm-x86/posix_types.h.org	2008-04-19 16:53:03 +0800
> +++ linux-2.6/include/asm-x86/posix_types.h	2008-04-19 16:51:48 +0800
> @@ -1,5 +1,5 @@
> -#ifdef __KERNEL__
> -# if defined(CONFIG_X86_32) || defined(__i386__)
> +#if defined(__KERNEL__) || defined(__i386__)
> +# if defined(CONFIG_X86_32)
>  #  include "posix_types_32.h"
>  # else
>  #  include "posix_types_64.h"

This doesn't look as if it will work with 64bit userspace.

A patch that reverts the bogus changes to asm-x86/posix_types.h and 
asm-x86/unistd.h (which suffers from the same breakage) is below.

cu
Adrian


<--  snip  -->


Commit e40c0fe6b0b5dd16aec3c0dad311d36b19d78fd9
(x86: cleanup duplicate includes) turned the userspace
asm-x86/posix_types.h and asm-x86/unistd.h headers into
empty files.

This patch reverts these bogus changes.

Reported-by: Jeff Chua <jeff.chua.linux@gmail.com>
Signed-off-by: Adrian Bunk <bunk@kernel.org>

---
 include/asm-x86/posix_types.h |    8 +++++++-
 include/asm-x86/unistd.h      |    8 +++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)
ab170018723af65f4020db74757e4949d110963a diff --git a/include/asm-x86/posix_types.h b/include/asm-x86/posix_types.h
index fe312a5..bb7133d 100644
--- a/include/asm-x86/posix_types.h
+++ b/include/asm-x86/posix_types.h
@@ -1,5 +1,11 @@
 #ifdef __KERNEL__
-# if defined(CONFIG_X86_32) || defined(__i386__)
+# ifdef CONFIG_X86_32
+#  include "posix_types_32.h"
+# else
+#  include "posix_types_64.h"
+# endif
+#else
+# ifdef __i386__
 #  include "posix_types_32.h"
 # else
 #  include "posix_types_64.h"
diff --git a/include/asm-x86/unistd.h b/include/asm-x86/unistd.h
index effc7ad..2a58ed3 100644
--- a/include/asm-x86/unistd.h
+++ b/include/asm-x86/unistd.h
@@ -1,5 +1,11 @@
 #ifdef __KERNEL__
-# if defined(CONFIG_X86_32) || defined(__i386__)
+# ifdef CONFIG_X86_32
+#  include "unistd_32.h"
+# else
+#  include "unistd_64.h"
+# endif
+#else
+# ifdef __i386__
 #  include "unistd_32.h"
 # else
 #  include "unistd_64.h"
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2008-04-20 21:05    [from the cache]
©2003-2008