Comment 403 for bug 1734147

Revision history for this message
ԜаӀtеr Ⅼарсһуnѕkі (wxl) wrote : Re: Ubuntu 17.10 corrupting BIOS - many LENOVO laptops models

Amidst all the noise here, I thought it might be good to summarize some things and perhaps get them confirmed.

Affected distros:
 * Ubuntu
 * Antergos

and if the kernel bug attached is the same as this one:
 * Arch
 * Fedora

Note: every distro with the right kernel has the potential for the problem, even though they do not display the symptoms. They may have turned it off, but the problem lies waiting in the kernel, not unlike some recessive genetic disease.

The kernels:
 * 4.10 is ok
   * highest version is in zesty-proposed: 4.10.0-43.47
 * 4.11-4.13.0-17 is not ok
   * highest version is in artful main: 4.13.0-22.25
 * 4.13.0-21.24 avoids creating the problem by refusing to compile the kernel with CONFIG_SPI_INTEL_SPI_PLATFORM set
   * highest version is in artful-proposed: 4.13.0-22.25
   * bionic main is still 4.13.0-17.20!
 * 4.14.9 Ubuntu mainline fixes the problem, it seems
   * this includes the following relevant commits:
     * don't touch SPI-NOR write protection bit d9018976cdb6eefc62a7ba79a405f6c9661b08a7 (see kernel bug report)
       * this is for the LPC bridge of the Intel I/O Controller hub (southbridge) which provides access to, e.g. BIOS ROM
       * note this only seems to affect Intel Haswell and Broadwell, see drivers/mfd/lpc_ich.c for PCI IDs
     * off-by-one fix 9d63f17661e25fd28714dac94bdebc4ff5b75f09
   * this DOES NOT include the kernel compilation config change found in 4.13.0-21.24
   * for some reason this doesn't work for everyone, so perhaps there's another issue at play

Affected serial flash devices by manufacturer part number, JEDEC ID (SPI_NOR_HAS_LOCK set in drivers/mtd/spi-nor/spi-nor.c)
/* ESMT */
   f25l32pa, 0x8c2016
   f25l32qa, 0x8c4116
   f25l64qa, 0x8c4117
/* GigaDevice */
   gd25q16, 0xc84015
   gd25q32, 0xc84016
   gd25lq32, 0xc86016
   gd25q64, 0xc84017
   gd25lq64c, 0xc86017
   gd25q128, 0xc84018
   gd25q256, 0xc84019
/* Winbond */
   w25q16dw, 0xef6015
   w25q32dw, 0xef6016
   w25q64dw, 0xef6017
   w25q128fw, 0xef6018

Note: considering the author of intel-spi the device driver feels that these are the problem children, based on a characteristic they have, the fact that there's Insyde BIOS or not probably has no bearing on whether or not a device is affected.

Finally, a question: any way to figure out the JEDEC ID of the serial flash without having to load the module?