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]
Date:	Sun, 30 Dec 2007 04:34:52 +0100
From:	Rene Herman <rene.herman@...access.nl>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
CC:	dpreed@...d.com, Islam Amer <pharon@...il.com>,
	Alan Cox <alan@...rguk.ukuu.org.uk>, hpa@...or.com,
	Pavel Machek <pavel@....cz>, Ingo Molnar <mingo@...hat.com>,
	Andi Kleen <andi@...stfloor.org>,
	Thomas Gleixner <tglx@...utronix.de>,
	Linux Kernel <linux-kernel@...r.kernel.org>
Subject: [PATCH] x86: provide a DMI based port 0x80 I/O delay override

Hi Linus.

[ resend, forgot the CC to linux-kernel. sorry ]

This fixes "hwclock" triggered boottime hangs for a few HP/Compaq laptops
and might as such be applicable to 2.6.24 still.

The kernel's use of an outb to port 0x80 as an I/O delay disagrees with
these machines (after ACPI is live, that is) and this provides for a DMI
based switch to alternate port 0xed for them.

Complete changelog inside the patch.

An evolved version of this patch that also supplies udelay(2) and <nothing>
as I/O delay lives in the x86.git tree as well but Alan Cox suggested those
choices shouldn't yet be provided as he's finding races in drivers on SMP
without the bus-locking outb.

As a minimal version I thought you might perhaps want to take this as a
specific fix for the afflicted laptops for 2.6.24. H. Peter Anvin earlier
agreed it would be minimal enough for that.

It was tested on both of the afflicted machines the DMI strings cover and
doesn't change anything on others by default. It also introduces a bootparam
io_delay=<standard|alternate> to make (or override) the choice manually.

   Documentation/kernel-parameters.txt |    6 ++
   arch/x86/boot/compressed/misc_32.c  |    8 +--
   arch/x86/boot/compressed/misc_64.c  |    8 +--
   arch/x86/kernel/Makefile_32         |    2
   arch/x86/kernel/Makefile_64         |    2
   arch/x86/kernel/io_delay.c          |   77
++++++++++++++++++++++++++++++++++++
   arch/x86/kernel/setup_32.c          |    2
   arch/x86/kernel/setup_64.c          |    2
   include/asm-x86/io_32.h             |    6 --
   include/asm-x86/io_64.h             |   27 +++++++-----
   10 files changed, 115 insertions(+), 25 deletions(-)

Rene.


View attachment "dmi-port80-minimal-bootparam.diff" of type "text/plain" (11205 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ