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-next>] [day] [month] [year] [list]
Message-id: <Pine.LNX.4.64.0702132145460.28458@montezuma.fsmlabs.com>
Date:	Thu, 15 Feb 2007 08:29:49 -0800 (PST)
From:	Zwane Mwaikambo <zwane@...radead.org>
To:	Linux Kernel <linux-kernel@...r.kernel.org>
Cc:	Andrew Morton <akpm@...ux-foundation.org>, Andi Kleen <ak@...e.de>,
	Tobias Hain <tobias.hain@....de>
Subject: [PATCH] Don't probe for DDC on VBE1.2

VBE1.2 doesn't support function 15h (DDC) resulting in a 'hang' whilst
uncompressing kernel with some video cards. Make sure we check VBE version 
before fiddling around with DDC.

http://bugzilla.kernel.org/show_bug.cgi?id=1458

Opened: 2003-10-30 09:12 Last update: 2007-02-13 22:03

:(

Much thanks to Tobias Hain for help in testing and investigating the bug. 
Tested on;

i386, Chips & Technologies 65548 VESA VBE 1.2
CONFIG_VIDEO_SELECT=Y
CONFIG_FIRMWARE_EDID=Y

Untested on x86_64.

Signed-off-by: Zwane Mwaikambo <zwane@...radead.org>

Index: linux-2.6.20-rc6-mm1/arch/i386/boot/video.S
===================================================================
RCS file: /home/cvsroot/linux-2.6.20-rc6-mm1/arch/i386/boot/video.S,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 video.S
--- linux-2.6.20-rc6-mm1/arch/i386/boot/video.S	30 Jan 2007 05:28:31 -0000	1.1.1.1
+++ linux-2.6.20-rc6-mm1/arch/i386/boot/video.S	15 Feb 2007 16:27:32 -0000
@@ -1945,6 +1945,20 @@ store_edid:
 	rep
 	stosl
 
+	pushw	%es
+	pushw	%ds
+	popw	%es
+	leaw	modelist+1024, %di
+	movw	$0x4f00, %ax
+	int	$0x10
+	popw	%es
+
+	cmpw	$0x004f, %ax
+	jne	no_edid
+
+	cmpw	$0x0102, 4(%di)			# only do EDID on > 1.2
+	je	no_edid
+
 	pushw   %es				# save ES
 	xorw    %di, %di                        # Report Capability
 	pushw   %di
Index: linux-2.6.20-rc6-mm1/arch/x86_64/boot/video.S
===================================================================
RCS file: /home/cvsroot/linux-2.6.20-rc6-mm1/arch/x86_64/boot/video.S,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 video.S
--- linux-2.6.20-rc6-mm1/arch/x86_64/boot/video.S	30 Jan 2007 05:28:36 -0000	1.1.1.1
+++ linux-2.6.20-rc6-mm1/arch/x86_64/boot/video.S	15 Feb 2007 16:27:32 -0000
@@ -1945,6 +1945,20 @@ store_edid:
 	rep
 	stosl
 
+	pushw	%es
+	pushw	%ds
+	popw	%es
+	leaw	modelist+1024, %di
+	movw	$0x4f00, %ax
+	int	$0x10
+	popw	%es
+
+	cmpw	$0x004f, %ax
+	jne	no_edid
+
+	cmpw	$0x0102, 4(%di)			# only do EDID on > 1.2
+	je	no_edid
+
 	pushw   %es				# save ES
 	xorw    %di, %di                        # Report Capability
 	pushw   %di
-
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