Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.user > #182637 > unrolled thread

[WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

Started byHenrique de Moraes Holschuh <hmh@debian.org>
First post2017-06-25 14:30 +0200
Last post2017-07-25 08:50 +0200
Articles 13 — 5 participants

Back to article view | Back to linux.debian.user


Contents

  [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading Henrique de Moraes Holschuh <hmh@debian.org> - 2017-06-25 14:30 +0200
    Re: [WARNING] Intel Skylake/Kaby Lake processors: broken  hyper-threading Henrique de Moraes Holschuh <hmh@debian.org> - 2017-06-25 14:30 +0200
      Re: [WARNING] Intel Skylake/Kaby Lake processors: broken  hyper-threading Henrique de Moraes Holschuh <hmh@debian.org> - 2017-06-27 13:30 +0200
    Re: [WARNING] Intel Skylake/Kaby Lake processors: broken  hyper-threading Henrique de Moraes Holschuh <hmh@debian.org> - 2017-06-25 14:50 +0200
    Re: [WARNING] Intel Skylake/Kaby Lake processors: broken  hyper-threading Henrique de Moraes Holschuh <hmh@debian.org> - 2017-06-26 03:50 +0200
      Re: [WARNING] Intel Skylake/Kaby Lake processors: broken  hyper-threading John Elliot V <jj5@jj5.net> - 2017-06-26 18:50 +0200
        Re: [WARNING] Intel Skylake/Kaby Lake processors: broken  hyper-threading John Elliot V <jj5@jj5.net> - 2017-06-26 19:20 +0200
          Sound issue WAS: Re: [WARNING] Intel Skylake/Kaby Lake processors:  broken hyper-threading John Elliot V <jj5@jj5.net> - 2017-06-26 21:10 +0200
            Re: Sound issue WAS: Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading deloptes <deloptes@gmail.com> - 2017-06-27 13:40 +0200
    Re: [WARNING] Intel Skylake/Kaby Lake processors: broken  hyper-threading Larry Fletcher <lotek07@gmail.com> - 2017-06-26 19:50 +0200
    Re: [WARNING] Intel Skylake/Kaby Lake processors: broken  hyper-threading Henrique de Moraes Holschuh <hmh@debian.org> - 2017-06-27 02:40 +0200
      Intel Skylake/Kaby Lake Hyper-threading bug update Henrique de Moraes Holschuh <hmh@debian.org> - 2017-07-23 20:00 +0200
        Re: Intel Skylake/Kaby Lake Hyper-threading bug update Elimar Riesebieter <riesebie@lxtec.de> - 2017-07-25 08:50 +0200

#182637 — [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

FromHenrique de Moraes Holschuh <hmh@debian.org>
Date2017-06-25 14:30 +0200
Subject[WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading
Message-ID<tWePU-52w-3@gated-at.bofh.it>
This warning advisory is relevant for users of systems with the Intel
processors code-named "Skylake" and "Kaby Lake".  These are: the 6th and
7th generation Intel Core processors (desktop, embedded, mobile and
HEDT), their related server processors (such as Xeon v5 and Xeon v6), as
well as select Intel Pentium processor models.

TL;DR: unfixed Skylake and Kaby Lake processors could, in some
situations, dangerously misbehave when hyper-threading is enabled.
Disable hyper-threading immediately in BIOS/UEFI to work around the
problem.  Read this advisory for instructions about an Intel-provided
fix.


SO, WHAT IS THIS ALL ABOUT?
---------------------------

This advisory is about a processor/microcode defect recently identified
on Intel Skylake and Intel Kaby Lake processors with hyper-threading
enabled.  This defect can, when triggered, cause unpredictable system
behavior: it could cause spurious errors, such as application and system
misbehavior, data corruption, and data loss.

It was brought to the attention of the Debian project that this defect
is known to directly affect some Debian stable users (refer to the end
of this advisory for details), thus this advisory.

Please note that the defect can potentially affect any operating system
(it is not restricted to Debian, and it is not restricted to Linux-based
systems).  It can be either avoided (by disabling hyper-threading), or
fixed (by updating the processor microcode).

Due to the difficult detection of potentially affected software, and the
unpredictable nature of the defect, all users of the affected Intel
processors are strongly urged to take action as recommended by this
advisory.


DO I HAVE AN INTEL SKYLAKE OR KABY LAKE PROCESSOR WITH HYPER-THREADING?
-----------------------------------------------------------------------

The earliest of these Intel processor models were launched in September
2015.  If your processor is older than that, it will not be an Skylake
or Kaby Lake processor and you can just ignore this advisory.

If you don't know the model name of your processor(s), the command below
will tell you their model names.  Run it in a command line shell (e.g.
xterm):

    grep name /proc/cpuinfo | sort -u

Once you know your processor model name, you can check the two lists
below:

  * List of Intel processors code-named "Skylake":
    http://ark.intel.com/products/codename/37572/Skylake

  * List of Intel processors code-named "Kaby Lake":
    http://ark.intel.com/products/codename/82879/Kaby-Lake

Some of the processors in these two lists are not affected because they
lack hyper-threading support.  Run the command below in a command line
shell (e.g. xterm), and it will output a message if hyper-threading is
supported/enabled:

  grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && \
	echo "Hyper-threading is supported"

Alternatively, use the processor lists above to go to that processor's
information page, and the information on hyper-threading will be there.

If your processor does not support hyper-threading, you can ignore this
advisory.


WHAT SHOULD I DO IF I DO HAVE SUCH PROCESSORS?
----------------------------------------------

Kaby Lake:

Users of systems with Intel Kaby Lake processors should immediately
*disable* hyper-threading in the BIOS/UEFI configuration.  Please
consult your computer/motherboard's manual for instructions, or maybe
contact your system vendor's support line.

The Kaby Lake microcode updates that fix this issue are currently only
available to system vendors, so you will need a BIOS/UEFI update to get
it.  Contact your system vendor: if you are lucky, such a BIOS/UEFI
update might already be available, or undergoing beta testing.

You want your system vendor to provide a BIOS/UEFI update that fixes
"Intel processor errata KBL095, KBW095 or the similar one for my Kaby
Lake processor".

We strongly recommend that you should not re-enable hyper-threading
until you install a BIOS/UEFI update with this fix.


Skylake:

Users of systems with Intel Skylake processors may have two choices:

1. If your processor model (listed in /proc/cpuinfo) is 78 or 94, and
   the stepping is 3, install the non-free "intel-microcode" package
   with base version 3.20170511.1, and reboot the system.  THIS IS
   THE RECOMMENDED SOLUTION FOR THESE SYSTEMS, AS IT FIXES OTHER
   PROCESSOR ISSUES AS WELL.

   Run this command in a command line shell (e.g. xterm) to know the
   model numbers and steppings of your processor.  All processors must
   be either model 78 or 94, and stepping 3, for the intel-microcode fix
   to work:

         grep -E 'model|stepping' /proc/cpuinfo | sort -u

   If you get any lines with a model number that is neither 78 or 94, or
   the stepping is not 3, you will have to disable hyper-threading as
   described on choice 2, below.

   Refer to the section "INSTALLING THE MICROCODE UPDATES FROM NON-FREE"
   for instructions on how to install the intel-microcode package.

2. For other processor models, disable hyper-threading in BIOS/UEFI
   configuration.  Please consult your computer/motherboard's manual for
   instructions on how to do this.  Contact your system vendor for a
   BIOS/UEFI update that fixes "Intel erratum SKW144, SKL150, SKX150,
   SKZ7, or the similar one for my Skylake processor".

NOTE: If you did not have the intel-microcode package installed on your
Skylake system before, it is best if you check for (and install) any
BIOS/UEFI updates *first*.  Read the wiki page mentioned below.


INSTALLING THE MICROCODE UPDATES FROM NON-FREE:
-----------------------------------------------

Instructions are available at:

    https://wiki.debian.org/Microcode

Updated intel-microcode packages are already available in non-free for:
unstable, testing, Debian 9 "stretch" (stable), and Debian 8 *backports*
(jessie-backports).

THE MICROCODE PACKAGES FROM THE RECENT STABLE RELEASE (June 17th, 2017)
ALREADY HAVE THE SKYLAKE FIX, BUT YOU MAY HAVE TO INSTALL THEM.

Updated intel-microcode packages in non-free for Debian 8 "jessie"
(oldstable) are waiting for approval and will likely be released in the
next non-free oldstable point release.  They are the same as the
packages in non-free jessie-backports, with a change to the version
number.

The wiki page above has instructions on how to enable "contrib" and
"non-free", so as to be possible to install the intel-microcode package.

Users of "jessie" (oldstable) might want to enable jessie-backports to
get *this* intel-microcode update faster.  This is also explained in the
wiki page above.


MORE DETAILS ABOUT THE PROCESSOR DEFECT:
----------------------------------------

On 2017-05-29, Mark Shinwell, a core OCaml toolchain developer,
contacted the Debian developer responsible for the intel-microcode
package with key information about a Intel processor issue that could be
easily triggered by the OCaml compiler.

The issue was being investigated by the OCaml community since
2017-01-06, with reports of malfunctions going at least as far back as
Q2 2016.  It was narrowed down to Skylake with hyper-threading, which is
a strong indicative of a processor defect.  Intel was contacted about
it, but did not provide further feedback as far as we know.

Fast-forward a few months, and Mark Shinwell noticed the mention of a
possible fix for a microcode defect with unknown hit-ratio in the
intel-microcode package changelog.  He matched it to the issues the
OCaml community were observing, verified that the microcode fix indeed
solved the OCaml issue, and contacted the Debian maintainer about it.

Apparently, Intel had indeed found the issue, *documented it* (see
below) and *fixed it*.  There was no direct feedback to the OCaml
people, so they only found about it later.

The defect is described by the SKZ7/SKW144/SKL150/SKX150/KBL095/KBW095
Intel processor errata.  As described in official public Intel
documentation (processor specification updates):

  Errata:   SKZ7/SKW144/SKL150/SKX150/SKZ7/KBL095/KBW095
            Short Loops Which Use AH/BH/CH/DH Registers May Cause
            Unpredictable System Behavior.

  Problem:  Under complex micro-architectural conditions, short loops
	    of less than 64 instructions that use AH, BH, CH or DH
	    registers as well as their corresponding wider register
	    (e.g. RAX, EAX or AX for AH) may cause unpredictable
	    system behavior. This can only happen when both logical
	    processors on the same physical processor are active.

  Implication: Due to this erratum, the system may experience
	    unpredictable system behavior.

We do not have enough information at this time to know how much software
out there will trigger this specific defect.

One important point is that the code pattern that triggered the issue in
OCaml was present on gcc-generated code.  There were extra constraints
being placed on gcc by OCaml, which would explain why gcc apparently
rarely generates this pattern.

The reported effects of the processor defect were: compiler and
application crashes, incorrect program behavior, including incorrect
program output.


What we know about the microcode updates issued by Intel related to
these specific errata:

Fixes for processors with signatures[1] 0x406E3 and 0x506E3 are
available in the Intel public Linux microcode release 20170511.  This
will fix only Skylake processors with model 78 stepping 3, and model 94
stepping 3.  The fixed microcode for these two processor models reports
revision 0xb9/0xba, or higher.

Apparently, these errata were fixed by microcode updates issued in early
April/2017.  Based on this date range, microcode revision 0x5d/0x5e (and
higher) for Kaby Lake processors with signatures 0x806e9 and 0x906e9
*might* fix the issue.  We do not have confirmation about which
microcode revision fixes Kaby Lake at this time.

Related processor signatures and microcode revisions:
Skylake   : 0x406e3, 0x506e3 (fixed in revision 0xb9/0xba and later,
                              public fix in linux microcode 20170511)
Skylake   : 0x50654          (no information, erratum listed)
Kaby Lake : 0x806e9, 0x906e9 (defect still exists in revision 0x48,
                              fix available as a BIOS/UEFI update)


References:
https://caml.inria.fr/mantis/view.php?id=7452
http://metadata.ftp-master.debian.org/changelogs/non-free/i/intel-microcode/unstable_changelog
https://www.intel.com/content/www/us/en/processors/core/desktop-6th-gen-core-family-spec-update.html
https://www.intel.com/content/www/us/en/processors/core/7th-gen-core-family-spec-update.html
https://www.intel.com/content/www/us/en/processors/xeon/xeon-e3-1200v6-spec-update.html
https://www.intel.com/content/www/us/en/processors/xeon/xeon-e3-1200v5-spec-update.html
https://www.intel.com/content/www/us/en/products/processors/core/6th-gen-x-series-spec-update.html

[1] iucode_tool -S will output your processor signature.  This tool is
    available in the *contrib* repository, package "iucode-tool".

-- 
  Henrique Holschuh

[toc] | [next] | [standalone]


#182638 — Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

FromHenrique de Moraes Holschuh <hmh@debian.org>
Date2017-06-25 14:30 +0200
SubjectRe: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading
Message-ID<tWePT-52w-1@gated-at.bofh.it>
In reply to#182637

[Multipart message — attachments visible in raw view] — view raw

On Sun, 25 Jun 2017, Henrique de Moraes Holschuh wrote:
> This warning advisory is relevant for users of systems with the Intel
> processors code-named "Skylake" and "Kaby Lake".  These are: the 6th and
> 7th generation Intel Core processors (desktop, embedded, mobile and
> HEDT), their related server processors (such as Xeon v5 and Xeon v6), as
> well as select Intel Pentium processor models.

Attached, you will find a perl script that can help detect if your
system is affected or not.  Many thanks to Uwe Kleine-König for
suggesting, and writing this script.

-- 
  Henrique Holschuh

[toc] | [prev] | [next] | [standalone]


#182743 — Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

FromHenrique de Moraes Holschuh <hmh@debian.org>
Date2017-06-27 13:30 +0200
SubjectRe: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading
Message-ID<tWWQV-8f0-1@gated-at.bofh.it>
In reply to#182638

[Multipart message — attachments visible in raw view] — view raw

(updated perl script, it now needs the "liblist-moreutils-perl" package)

On Sun, 25 Jun 2017, Henrique de Moraes Holschuh wrote:
> On Sun, 25 Jun 2017, Henrique de Moraes Holschuh wrote:
> > This warning advisory is relevant for users of systems with the Intel
> > processors code-named "Skylake" and "Kaby Lake".  These are: the 6th and
> > 7th generation Intel Core processors (desktop, embedded, mobile and
> > HEDT), their related server processors (such as Xeon v5 and Xeon v6), as
> > well as select Intel Pentium processor models.
> 
> Attached, you will find a perl script that can help detect if your
> system is affected or not.  Many thanks to Uwe Kleine-König for
> suggesting, and writing this script.

Uwe Kleine-König was kind enough to update the perl script to fix the
broken hyper-threading detection.  The new version is attached.

NOTE: You may need to install the liblist-moreutils-perl package for the
script to work.

-- 
  Henrique Holschuh

[toc] | [prev] | [next] | [standalone]


#182639 — Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

FromHenrique de Moraes Holschuh <hmh@debian.org>
Date2017-06-25 14:50 +0200
SubjectRe: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading
Message-ID<tWeZA-55M-5@gated-at.bofh.it>
In reply to#182637

[Multipart message — attachments visible in raw view] — view raw

For the record: the email with the perl script doesn't contain malware.

The "malware" alert came from an extremely badly configured system that
violates every best practice in the field: it sends email to every
original recipient (and not just to local users), and it FORGES its
headers to look like it was sent by the original sender.

-- 
  Henrique Holschuh

[toc] | [prev] | [next] | [standalone]


#182664 — Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

FromHenrique de Moraes Holschuh <hmh@debian.org>
Date2017-06-26 03:50 +0200
SubjectRe: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading
Message-ID<tWrk5-4f5-11@gated-at.bofh.it>
In reply to#182637
Minor update on the issue:

The check command provided in the advisory to test for hyper-threading
doesn't work: it will always report hyper-theading as enabled.  A better
command is provided below.

Note: this also means the perl script will give some false-positives.
I apologise for the inconvenience.


On Sun, 25 Jun 2017, Henrique de Moraes Holschuh wrote:
> Once you know your processor model name, you can check the two lists
> below:
> 
>   * List of Intel processors code-named "Skylake":
>     http://ark.intel.com/products/codename/37572/Skylake
> 
>   * List of Intel processors code-named "Kaby Lake":
>     http://ark.intel.com/products/codename/82879/Kaby-Lake
> 
> Some of the processors in these two lists are not affected because they
> lack hyper-threading support.  Run the command below in a command line
> shell (e.g. xterm), and it will output a message if hyper-threading is
> supported/enabled:
> 
>   grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && \
> 	echo "Hyper-threading is supported"

The above test (using "grep") does not work, and will always report that
hyper-threading is enabled.

Please use the "lscpu" utility from the util-linux package in a command
line shell (e.g.  xterm):

    lscpu

If the lscpu output reports: "Thread(s) per core: 2", that means
hyper-threading is enabled and supported.

If the lscpu output reports: "Thread(s) per core: 1", that means
hyper-threading either disabled or not supported.  In this case, the
specific defect mentioned in the advisory will not trigger.

-- 
  Henrique Holschuh

[toc] | [prev] | [next] | [standalone]


#182692 — Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

FromJohn Elliot V <jj5@jj5.net>
Date2017-06-26 18:50 +0200
SubjectRe: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading
Message-ID<tWFn4-4Lf-23@gated-at.bofh.it>
In reply to#182664

[Multipart message — attachments visible in raw view] — view raw

I disabled hyper-threading in my BIOS in response to this advisory (I
have an i7-7700K). Now I get weird graphical artifacts in drop-down
lists in KDE (they flash between black and white background) and sound
has stopped working on my system. Can anyone guess why that might be
happening? I might try re-enabling hyper-threading to see if things go
back to normal...

Regards,
John Elliot V
-- 
E: jj5@jj5.net
P: +61 4 3505 7839
W: https://www.jj5.net/

[toc] | [prev] | [next] | [standalone]


#182696 — Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

FromJohn Elliot V <jj5@jj5.net>
Date2017-06-26 19:20 +0200
SubjectRe: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading
Message-ID<tWFQ6-5au-25@gated-at.bofh.it>
In reply to#182692

[Multipart message — attachments visible in raw view] — view raw

On 27/06/17 02:47, John Elliot V wrote:
> I disabled hyper-threading in my BIOS in response to this advisory (I
> have an i7-7700K). Now I get weird graphical artifacts in drop-down
> lists in KDE (they flash between black and white background) and sound
> has stopped working on my system. Can anyone guess why that might be
> happening? I might try re-enabling hyper-threading to see if things go
> back to normal...

Hmm. I re-enabled hyper-threading (to test) and sound didn't come back.
So I disabled hyper-threading again.

Before I disabled hyper-threading the first time I tried updating my
BIOS, and in order to do that my BIOS reconfigured itself to enable some
networking features so it could update the BIOS over the Internet.
Turned out my BIOS was already at the latest version (details are here [1]).

I'm not sure how to diagnose a "no sound" issue. I've checked all the
volume controls I know about, and nothing is mute and/or low volume.
Sound was working this morning, and now, after I changed my
hyper-threading settings, it's not.

Dunno what happened or why. Totally stumped.

Regards,
John Elliot V

[1] https://www.progclub.org/pipermail/programming/2017-June/002892.html

-- 
E: jj5@jj5.net
P: +61 4 3505 7839
W: https://www.jj5.net/

[toc] | [prev] | [next] | [standalone]


#182710 — Sound issue WAS: Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

FromJohn Elliot V <jj5@jj5.net>
Date2017-06-26 21:10 +0200
SubjectSound issue WAS: Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading
Message-ID<tWHyy-6h8-11@gated-at.bofh.it>
In reply to#182696

[Multipart message — attachments visible in raw view] — view raw

On 27/06/17 03:16, John Elliot V wrote:
> Hmm. I re-enabled hyper-threading (to test) and sound didn't come back.

After a number of false starts I was able to restore audio by:

 KDE -> System Settings -> Multimedia (Hardware) -> Audio and Video ->
  Audio Hardware Setup

Then in the Hardware section changing Profile from:

 Digital Stereo (IEC958) Output + Analog Stereo Input

To:

 Digital Stereo (HDMI2) Output + Analog Stereo Input

I'm not sure what changed that required me to make this change. Anyway,
happy that sound is working again for me.

Regards,
John Elliot V
-- 
E: jj5@jj5.net
P: +61 4 3505 7839
W: https://www.jj5.net/

[toc] | [prev] | [next] | [standalone]


#182744 — Re: Sound issue WAS: Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

Fromdeloptes <deloptes@gmail.com>
Date2017-06-27 13:40 +0200
SubjectRe: Sound issue WAS: Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading
Message-ID<tWX0B-8iz-9@gated-at.bofh.it>
In reply to#182710
John Elliot V wrote:

> KDE -> System Settings -> Multimedia (Hardware) -> Audio and Video ->
> Audio Hardware Setup

I was going to say - it is just KDE :D - crap

[toc] | [prev] | [next] | [standalone]


#182700 — Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

FromLarry Fletcher <lotek07@gmail.com>
Date2017-06-26 19:50 +0200
SubjectRe: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading
Message-ID<tWGj8-5mb-9@gated-at.bofh.it>
In reply to#182637
On 06/25/2017 05:19 AM, Henrique de Moraes Holschuh wrote:
> This warning advisory is relevant for users of systems with the Intel
> processors code-named "Skylake" and "Kaby Lake".  These are: the 6th and
> 7th generation Intel Core processors (desktop, embedded, mobile and
> HEDT), their related server processors (such as Xeon v5 and Xeon v6), as
> well as select Intel Pentium processor models.
> 
> TL;DR: unfixed Skylake and Kaby Lake processors could, in some
> situations, dangerously misbehave when hyper-threading is enabled.
> Disable hyper-threading immediately in BIOS/UEFI to work around the
> problem.  Read this advisory for instructions about an Intel-provided
> fix.

Hyper-threading was enabled in the BIOS and the Skylake processor looks 
good.

lscpu:
Thread(s) per core:    2
Model:                 94
Stepping:              3

But both of the "intel-microcode" and "amd64-microcode" packages were 
installed, so I removed amd64-microcode.

apt-cache depends amd64-microcode:
amd64-microcode
   Breaks: intel-microcode

Thanks!

[toc] | [prev] | [next] | [standalone]


#182727 — Re: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

FromHenrique de Moraes Holschuh <hmh@debian.org>
Date2017-06-27 02:40 +0200
SubjectRe: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading
Message-ID<tWMHT-19R-7@gated-at.bofh.it>
In reply to#182637
(updates, hopefully the last ones...)

On Sun, 25 Jun 2017, Henrique de Moraes Holschuh wrote:
> Fast-forward a few months, and Mark Shinwell noticed the mention of a
> possible fix for a microcode defect with unknown hit-ratio in the
> intel-microcode package changelog.  He matched it to the issues the
> OCaml community were observing, verified that the microcode fix indeed
> solved the OCaml issue, and contacted the Debian maintainer about it.

There are a few factual incorrections in the advisory text, which were
entirely my fault, and for which I apologise.  The corrections are
below:

1. It was one of the OCaml bug reporters (by the handle of ygrek) who
   first noticed that the 20170511 microcode update could be relevant,
   and not Mark Shinwell.

2. Various other bug reporters and OCaml developers, some under request
   from Mark and some by their own volition, helped out and devoted
   substantial time to investigating the issue.

I apologise to those involved: to "ygrek" for misreading the bug report
and attributing to Mark Shinwell the correlation between the SKL150
erratum description and the OCaml compiler issue report; and to all
members of the OCaml community that worked on the issue both in the bug
report and behind the scenes, for not explicitly crediting their effort.

The original OCaml bug report is listed in the references section at the
end of the advisory (and also in this update).

> Related processor signatures and microcode revisions:
> Skylake   : 0x406e3, 0x506e3 (fixed in revision 0xb9/0xba and later,
>                               public fix in linux microcode 20170511)
> Skylake   : 0x50654          (no information, erratum listed)
> Kaby Lake : 0x806e9, 0x906e9 (defect still exists in revision 0x48,
>                               fix available as a BIOS/UEFI update)

The recently launched "Kaby Lake-X" processors (signature 0x906e9,
socket LGA2066) are documented by Intel as *NOT* being affected by the
KBL095 defect.  This information comes from table 16 of the latest
revision of the "7th gen. Core Family specification update" (which is
listed in the references section).

Please note that the "7th gen. Core i7 X-series processors" (Kaby
Lake-X) both support hyper-threading and share the processor signature
(family, model number and stepping) with "Kaby Lake-H/S" processors.
The tests in the advisory (and also the perl script) will *incorrectly*
report Kaby Lake-X processors as affected.

References:
https://caml.inria.fr/mantis/view.php?id=7452
http://metadata.ftp-master.debian.org/changelogs/non-free/i/intel-microcode/unstable_changelog
https://www.intel.com/content/www/us/en/processors/core/desktop-6th-gen-core-family-spec-update.html
https://www.intel.com/content/www/us/en/processors/core/7th-gen-core-family-spec-update.html
https://www.intel.com/content/www/us/en/processors/xeon/xeon-e3-1200v6-spec-update.html
https://www.intel.com/content/www/us/en/processors/xeon/xeon-e3-1200v5-spec-update.html
https://www.intel.com/content/www/us/en/products/processors/core/6th-gen-x-series-spec-update.html

-- 
  Henrique Holschuh

[toc] | [prev] | [next] | [standalone]


#184140 — Intel Skylake/Kaby Lake Hyper-threading bug update

FromHenrique de Moraes Holschuh <hmh@debian.org>
Date2017-07-23 20:00 +0200
SubjectIntel Skylake/Kaby Lake Hyper-threading bug update
Message-ID<u6tkB-27m-5@gated-at.bofh.it>
In reply to#182727
TL;DR: Intel has issued public microcode updates in 2017-07-07, fixing
the hyper-threading errata on every affected processor.  These updates
have been included in the stable and oldstable point releases from
2017-07-22.

The microcode updates in the "intel-microcode" packages with the base
version of 3.20170707.1 fix the hyper-threading defect on every known-
affected Intel processor, including Kaby Lake and all variants of
Skylake.

Updated intel-microcode packages are already available for oldstable,
stable, testing, unstable, jessie-backports-sloppy and
stretch-backports.

For more details and instructions, please refer to:
https://wiki.debian.org/Microcode


FAQ about the "hyper-threading defect":

Q. Does the Intel "microcode update" that fixes the defect remove
   hyper-threading support?

A. The updated microcode *fixes* hyper-threading, it does *not* remove
   hyper-threading support.


Upgraded microcode information related to these errata:

Skylake D0/R0 (mobile/desktop), signatures 0x406e3, 0x506e3:
Known to be fixed in microcode revision 0xb9/0xba and later.  Public fix
available in linux microcode 20170511 and later.

Skylake H0 (server/HEDT/X-series), signature 0x50654:
Known to be fixed in microcode revision 0x2000022 and later, and it
might have been fixed since revision 0x200001a.  Public fix available in
linux microcode 20170707 and later.

Kaby Lake H0/B0 (mobile/desktop), signatures 0x806e9, 0x906e9 (pf mask 0x22):
Known to be fixed in microcode revision 0x5d/0x5e and later.  Public fix
available in linux microcode 20170707 and later.

Kaby Lake X-series, signature 0x906e9 (pf mask 0x08):
These processors are *NOT* affected when installed in a *supported*
motherboard configuration (i.e. one that had its firmware updated to be
compatible with Kaby Lake X-series).  The launch production microcode
already has the fix (believed to be microcode revision 0x5d or later
based on the processor flags mask).

Kaby Lake Y0: signature 0x806ea:
Known to be fixed in microcode revision 0x65/0x66 and later, and it
might have been fixed since revision 0x5d/0x5e. Public fix available in
linux microcode 20170707 and later.


References from the original advisory:

https://caml.inria.fr/mantis/view.php?id=7452
http://metadata.ftp-master.debian.org/changelogs/non-free/i/intel-microcode/unstable_changelog
https://www.intel.com/content/www/us/en/processors/core/desktop-6th-gen-core-family-spec-update.html
https://www.intel.com/content/www/us/en/processors/core/7th-gen-core-family-spec-update.html
https://www.intel.com/content/www/us/en/processors/xeon/xeon-e3-1200v6-spec-update.html
https://www.intel.com/content/www/us/en/processors/xeon/xeon-e3-1200v5-spec-update.html
https://www.intel.com/content/www/us/en/products/processors/core/6th-gen-x-series-spec-update.html

New references:

The two new references below contain material that was not known to the
Debian maintainers or to the Debian project:

https://medium.com/ahrefs/skylake-bug-a-detective-story-ab1ad2beddcd
http://gallium.inria.fr/blog/intel-skylake-bug/

-- 
  Henrique Holschuh

[toc] | [prev] | [next] | [standalone]


#184198 — Re: Intel Skylake/Kaby Lake Hyper-threading bug update

FromElimar Riesebieter <riesebie@lxtec.de>
Date2017-07-25 08:50 +0200
SubjectRe: Intel Skylake/Kaby Lake Hyper-threading bug update
Message-ID<u71Pj-7Qu-9@gated-at.bofh.it>
In reply to#184140
Hi Henrique,

* Henrique de Moraes Holschuh <hmh@debian.org> [2017-07-23 14:56 -0300]:

> TL;DR: Intel has issued public microcode updates in 2017-07-07, fixing
> the hyper-threading errata on every affected processor.  These updates
> have been included in the stable and oldstable point releases from
> 2017-07-22.
> 
> The microcode updates in the "intel-microcode" packages with the base
> version of 3.20170707.1 fix the hyper-threading defect on every known-
> affected Intel processor, including Kaby Lake and all variants of
> Skylake.
> 
> Updated intel-microcode packages are already available for oldstable,
> stable, testing, unstable, jessie-backports-sloppy and
> stretch-backports.

many, many thanks. You did a famous job!

Elimar
-- 
  The path to source is always uphill!
                                -unknown-

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.user


csiph-web