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:	Thu, 26 Nov 2009 17:42:12 +0100
From:	Johannes Stezenbach <js@...21.net>
To:	Greg Kroah-Hartman <greg@...ah.com>
Cc:	Mikhail Malygin <mmalygin@....de>, Hans Werner <hwerner4@....de>,
	Tejun Heo <tj@...nel.org>, Thomas Renninger <trenn@...e.de>,
	linux-kernel@...r.kernel.org
Subject: Samsung N130 ATA exception after 5min uptime -- Phoenix FailSafe
 issue?

Hi,

I'm refering to
http://bugzilla.kernel.org/show_bug.cgi?id=14314
and I still have this issue on a N130 with latest BIOS (05CM),
running kernel 2.6.32-rc8 + wireless-testing.

BIOS Information
        Vendor: Phoenix Technologies Ltd.
        Version: 05CM.M011.20091013.JIP
        Release Date: 10/13/2009
        Address: 0xE6300
        Runtime Size: 105728 bytes
        ROM Size: 2048 kB
        Characteristics:
                ISA is supported
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                ESCD support is available
                ACPI is supported
                USB legacy is supported
                Smart battery is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
        BIOS Revision: 5.0

Around 5min after boot or resume if generates the following error:

[  302.364174] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[  302.364201] ata1.00: failed command: WRITE DMA
[  302.364234] ata1.00: cmd ca/00:08:f7:01:1a/00:00:00:00:00/e0 tag 0 dma 4096 out
[  302.364241]          res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[  302.364257] ata1.00: status: { DRDY }
[  307.408107] ata1: link is slow to respond, please be patient (ready=0)
[  312.392109] ata1: device not ready (errno=-16), forcing hardreset
[  312.392138] ata1: soft resetting link
[  312.574482] ata1.00: configured for UDMA/133
[  312.574506] ata1.00: device reported invalid CHS sector 0
[  312.574542] ata1: EH complete

This also happens when booting with rdinit=/bin/sh, i.e. only running busybox sh
inside initrd.  The error then appears when accessing the disk after the 5min
period with dd if=/dev/sda of=/dev/null count=10000.


The link in comment #14 is dead but eventually I found
http://download.opensuse.org/repositories/Moblin:/Base/openSUSE_11.1/src/kernel-source-2.6.31.6-37.1.src.rpm
which contains the attached patch with a samsung_laptop driver.

I think it is weird that the Samsung BIOS has a special "SECLINUX" mode,
but anyway the samsung_laptop driver works (the backlight control via ACPI
also works with the 05CM BIOS, though).

However, it does not prevent the ATA exception.

(Side note about backlight level 0: I noticed that in Windows when you
set the backlight to the lowest level, after a minute of inactivity
the screen would dim one level more. Stupid -- why not allow the user
to choose that level manually?)

So I guess one really needs the special Linux BIOS that Greg was talking
about in comments #14 and #16?  It is not clear from comment #17
which BIOS worked for Mikhail.

Or did I just miss some patch or magic config setting?


According to $subject, I have a wild theory that the issue
might be caused by the Phoenix "FailSafe" BIOS feature.
first of all, there is no indication on Samsung's web pages
anywhere that the N130 has it, but I had looked at the pre-installed
Windows before I wiped it (and did the BIOS update while at it),
and it had a "Phoenix FailSafe" icon prominently placed on the desktop.
Some searching yields:
http://www.failsafe.com/samsung-partner-profile

And after some more searching:
http://www.blackhat.com/presentations/bh-usa-09/ORTEGA/BHUSA09-Ortega-DeactivateRootkit-PAPER.pdf
which is about Computrace which appears to be a similar technology.

What I think is what happens is that the BIOS waits to be contacted
by the Windows "FailSafe" agent, and if that doesn't happen then the BIOS
tries to reinstall the agent into the Windows installation. Thus it
accesses the disk behind the OS's back, and this causes the ATA exception.
When FailSafe isn't activated by the user then the BIOS shouldn't do that,
but the BIOS developers might have thought different...

Note however that the BIOS setup screen contains no indication about FailSafe
support, so this is all wild guessing. It would fit in with the "special
Linux BIOS" info, though.  But I had hoped that the "SECLINUX" mode
would also disable it.


Thanks
Johannes

View attachment "samsung-laptop-driver.patch" of type "text/plain" (17207 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ