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]
Date:	Wed, 9 May 2007 01:01:34 +0200
From:	Andi Kleen <andi@...stfloor.org>
To:	Ken Moffat <zarniwhoop@...world.com>
Cc:	linux-kernel@...r.kernel.org,
	"Eric W. Biederman" <ebiederm@...ssion.com>,
	Vivek Goyal <vgoyal@...ibm.com>, Andi Kleen <ak@...e.de>
Subject: Re: Lockup after logging out of X

On Tue, May 08, 2007 at 08:51:42PM +0100, Ken Moffat wrote:
>  This is a resend, with a better title and slightly more
> clarification.  Originally sent yesterday evening, but I can see no
> evidence that it got beyond my isp's mailserver.  Apologies to the
> Cc's if you did get the original.
> 
>  Using Linus' tree pulled on Sunday afternoon UK time.  Running an
> amd64 ('pure64') desktop using gdm for graphical login, on Xorg 7.2
> with a radeon 9200se.  No problems until I log out of the desktop
> and go back to gdm.  Before that, the text consoles seem to be
> working fine.  After I go back to gdm. the display is corrupted and
> only MagicSysRQ works.  Mostly, the keyboard LEDs flash, but the
> only thing that made it to the logs was this exceedingly incomplete
> oops report:
> 
> May  7 21:02:54 bluesbreaker kernel: [   46.549615] [drm] writeback
> test succeeded in 1 usecs
> May  7 21:03:24 bluesbreaker kernel: [   61.552793] Unable to handle
> kernel paging request at ffff81003befd3e8 RIP:
> May  7 21:03:24 bluesbreaker kernel: [   61.552798]
> [<ffffffff80271576>] fasync_helper+0x52/0xf0
> May  7 21:03:24 bluesbreaker kernel: [   61.552805] PGD 8063 PUD
> 9063 PMD 800000003bef11e3 BAD
> May  7 21:03:24 bluesbreaker kernel: [   61.552811] Oops: 0009 [1]
> PREEMPT
> May  7 21:04:18 bluesbreaker syslogd 1.4.1: restart.
> 
>  After trying git-bisect, it tells me:
> 0dbf7028c0c1f266c9631139450a1502d3cd457e is first bad commit
> commit 0dbf7028c0c1f266c9631139450a1502d3cd457e

Already known, although it is still unclear what the bug actually is.
Can you run with the appended patch please (from Eric Biederman) 
and post any backtraces the WARN_ON in there spews out? 

Also do you use swiotlb?

Thanks

-Andi

diff --git a/include/asm-x86_64/page.h b/include/asm-x86_64/page.h
index b17fc16..e6a4d1e 100644
--- a/include/asm-x86_64/page.h
+++ b/include/asm-x86_64/page.h
@@ -105,7 +105,18 @@ extern unsigned long phys_base;
 
 /* Note: __pa(&symbol_visible_to_c) should be always replaced with __pa_symbol.
    Otherwise you risk miscompilation. */
-#define __pa(x)			((unsigned long)(x) - PAGE_OFFSET)
+#define __pa(x)	\
+({									\
+	unsigned long v;						\
+	asm("" : "=r" (v) : "0" ((unsigned long)(x)));			\
+	WARN_ON(v >= __START_KERNEL_map);					\
+	if (likely(v < __START_KERNEL_map))				\
+		v -= PAGE_OFFSET;					\
+	else								\
+		v = (v - __START_KERNEL_map) + phys_base;		\
+	v; 								\
+}) 
+
 /* __pa_symbol should be used for C visible symbols.
    This seems to be the official gcc blessed way to do such arithmetic. */ 
 #define __pa_symbol(x)		\


-
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