Protection against Samsung UEFI bug merged into Linux kernel
On Thursday morning, Linus Torvalds merged two changes into the main Linux development tree which mean that the samsung-laptop kernel driver will no longer be activated when Linux is booted via UEFI (1, 2). This should resolve the problem of some Samsung laptops being irreparably damaged when Linux is booted using UEFI. The does not, however, mean that the danger is past, as there appear to be other ways in which the sensitive firmware can be disrupted.
According to current understanding, the problem affects at least the following Samsung laptops: NP300E5C, NP530U3C, NP700Z3C, NP700Z5C, NP700Z7C and NP900X4C. The problem came to general attention as the result of a bug report which stated that laptops were bricked after just a single attempt to boot Ubuntu 12.04 or 12.10 in UEFI mode. The problem is also likely to occur with other Linux distributions, since they also include the samsung-laptop driver, which appears to trigger some sort of bug in the UEFI firmware.
In a Google+ post, Greg Kroah-Hartman, who helped develop the driver and get it merged into the Linux kernel (1, 2), writes that Samsung developers assured him that it was not a problem for the driver to randomly poke the memory. According to details given in a bug report on kernel.org, however, it appears that this is precisely what is causing the problem, which results in bricked laptops or machine check exceptions.
The merging of the changes into the main Linux development tree means that protection will find its way into the development trees of some distributions within hours to days. It will also be included in Linux kernel 3.8. Over the next week or two, new editions of the 3.0, 3.2, 3.4 and 3.7 kernels are also likely to be released, as these branches are actively maintained and include the driver in question. Linux distributors are likely to disseminate the changes to their users via the system update function over the next few weeks. Since these patches have not yet been integrated into the installation media for these distributions, users should always use the UEFI firmware's Compatibility Support Module (CSM), which emulates a BIOS mode, when booting on affected laptops.
However, there do appear to be other ways of knocking the UEFI firmware on some Samsung laptops off balance. Jakob Heinemann has emailed The H's associates at heise open to report that he is no longer able to access the UEFI setup on his NP300E5C after creating UEFI boot entries for booting a Linux installation installed in BIOS mode. According to his analysis, entries for calling the UEFI setup get overwritten because one of the UEFI firmware's functions returns a value which is not in accordance with the UEFI specification.