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]
Message-ID: <20100125163433.GB31957@suse.cz>
Date:	Mon, 25 Jan 2010 17:34:33 +0100
From:	Vojtech Pavlik <vojtech@...e.cz>
To:	Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc:	Robert Hancock <hancockrwd@...il.com>,
	Bastien Nocera <hadess@...ess.net>,
	linux-kernel <linux-kernel@...r.kernel.org>, pjones@...hat.com
Subject: Re: [PATCH] Disable i8042 checks on Intel Apple Macs

On Thu, Jan 21, 2010 at 02:17:01PM -0800, Dmitry Torokhov wrote:
> This is from the changelog when this was introduced:
> 
> -------------------------------------------------------------------------
> 2005/02/25 21:21:03+01:00 vojtech
> input: After testing on real world hardware, it's obvious we can't trust
>        ACPIPnP nor PnPBIOS to properly report the existence of a keyboard
>        and mouse port in all cases. Some BIOSes hide the ports if no mouse
>        or keyboard is connected, causing trouble with eg. KVM switches.
> 
>        The i8042 driver now does read-only probing first, which should
>        not cause any problems even if an i8042 controller really is not
>        present.
> 
>        However, on IA64 we still need to trust ACPI, since legacy-free
>        hardware is common there and invalid port accesses cause exceptions.
> 
>  Signed-off-by: Vojtech Pavlik <vojtech@...e.cz>
> 
> >> Input: Add ACPI-based i8042 keyboard and aux controller enumeration;
> > > can be disabled by passing i8042.noacpi as a boot parameter.
> > 
> > On a whim I decided to turn on ACPI, only to discover that my keyboard
> > no longer worked. Passing i8042.noacpi=1 makes it work again.
> > Attached please find boot messages with and without the boot
> > parameter. Inlined below is a diff of the two.
> 
> --------------------------------------------------------------------------
> 
> I'm adding Vojtech in case he manages to recall what other failures he
> has seen.

I don't think I can really recall what other problems we've had back
then, but I do remember it was quite an avalanche of mails that I've
started receiving after enabling the PnPBIOS/ACPIPnP probing and
trusting it fully.

Now, from the hardware point of view it doesn't make much sense for the
BIOS to hide/disable the i8042 controller, as both the keyboard IRQ and
the 0x60-0x6f address space are reserved for it (since the IBM PC/AT
times) and no other hardware can make use of those on an x86
architecture.

And this means that even on a Mac there should be no hardware present on
these addresses if there is no i8042 and Apple is claiming x86
compatibility.

Thus I believe that the right fix here is to figure out why the accesses
to the ports 0x60/0x64 take a long time or forever on a Mac. Is it just
that the kernel is timing out waiting for the i8042? Or is it something
more sinister?

-- 
Vojtech Pavlik
Director SuSE Labs
--
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