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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080420190217.GA14788@cs181133002.pp.htv.fi>
Date:	Sun, 20 Apr 2008 22:02:17 +0300
From:	Adrian Bunk <bunk@...nel.org>
To:	Jeff Chua <jeff.chua.linux@...il.com>,
	Joe Perches <joe@...ches.com>, Ingo Molnar <mingo@...e.hu>,
	tglx@...utronix.de, hpa@...or.com
Cc:	Linus Torvalds <torvalds@...ux-foundation.org>,
	Linux Kernel <linux-kernel@...r.kernel.org>
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@...il.com>
Signed-off-by: Adrian Bunk <bunk@...nel.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@...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