linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* x86, microcode: BUG: microcode update that changes x86_capability
@ 2014-09-18 13:52 Henrique de Moraes Holschuh
  2014-09-18 19:14 ` Andy Lutomirski
  2014-09-22  0:37 ` Andi Kleen
  0 siblings, 2 replies; 47+ messages in thread
From: Henrique de Moraes Holschuh @ 2014-09-18 13:52 UTC (permalink / raw)
  To: linux-kernel; +Cc: Borislav Petkov, H Peter Anvin

The new Haswell microcode update[1] removes the "hle" (hardware lock
elision) processor capability.  And it is not cosmetic, either: Intel TSX
opcodes will cause an illegal opcode trap after the microcode update[2].

This means cpu_info()->x86_capability becomes stale after the microcode
update.

We could add logic to compute the new x86_capability after a microcode
update run, and OOPS the kernel if something too important (i.e. anything
the kernel uses) went away.  Otherwise, refresh cpu_info()->x86_capability.

Is that doable?


[1] sig 0x000306f2, pf mask 0x6f, 2014-09-03, rev 0x0029, size 28672
    sig 0x000306c3, pf mask 0x32, 2014-07-03, rev 0x001c, size 21504
    sig 0x00040651, pf mask 0x72, 2014-07-03, rev 0x001c, size 20480
    sig 0x00040661, pf mask 0x32, 2014-07-03, rev 0x0012, size 23552

[2] instantly segfaulting every running process using libpthread-2.19,
    as well as any other users of Intel TSX.
    https://bugs.launchpad.net/intel/+bug/1370352

    And yes, this means we will kill support for microcode updates
    outside of the initramfs/early-initramfs, at least in Debian,
    and likely in Ubuntu.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

^ permalink raw reply	[flat|nested] 47+ messages in thread

end of thread, other threads:[~2014-09-29 11:51 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-18 13:52 x86, microcode: BUG: microcode update that changes x86_capability Henrique de Moraes Holschuh
2014-09-18 19:14 ` Andy Lutomirski
2014-09-18 19:53   ` Chuck Ebbert
2014-09-18 19:55     ` H. Peter Anvin
2014-09-18 20:06       ` Henrique de Moraes Holschuh
2014-09-19  0:13         ` Henrique de Moraes Holschuh
2014-09-19  0:23           ` Andy Lutomirski
2014-09-19  0:28             ` H. Peter Anvin
2014-09-19  1:00               ` Andy Lutomirski
2014-09-19  8:03                 ` Borislav Petkov
2014-09-19 11:00             ` Henrique de Moraes Holschuh
2014-09-19 11:29               ` Borislav Petkov
2014-09-19 12:54                 ` Chuck Ebbert
2014-09-19 13:14                   ` Josh Boyer
2014-09-19 13:37                     ` Chuck Ebbert
2014-09-19 15:00                   ` Borislav Petkov
2014-09-19 16:13                     ` Andy Lutomirski
2014-09-19 16:54                       ` Henrique de Moraes Holschuh
2014-09-19 16:42                     ` Henrique de Moraes Holschuh
2014-09-23 20:00                       ` Borislav Petkov
2014-09-24 14:56                         ` Henrique de Moraes Holschuh
2014-09-24 15:00                           ` Andy Lutomirski
2014-09-24 17:45                             ` Henrique de Moraes Holschuh
2014-09-24 17:48                               ` Andy Lutomirski
2014-09-24 18:59                                 ` Henrique de Moraes Holschuh
2014-09-24 19:34                                   ` Andy Lutomirski
2014-09-25  8:57                               ` Borislav Petkov
2014-09-25  8:51                           ` Borislav Petkov
2014-09-25 11:36                             ` Henrique de Moraes Holschuh
2014-09-25 12:10                               ` Borislav Petkov
2014-09-25 14:40                                 ` Henrique de Moraes Holschuh
2014-09-25 14:56                                   ` Borislav Petkov
2014-09-25 15:30                                     ` Henrique de Moraes Holschuh
2014-09-25 15:50                                       ` Borislav Petkov
2014-09-25 16:41                                         ` Henrique de Moraes Holschuh
2014-09-25 16:57                                           ` Borislav Petkov
2014-09-25 17:09                                             ` Henrique de Moraes Holschuh
2014-09-19 13:51                 ` Henrique de Moraes Holschuh
2014-09-19 14:49                   ` Borislav Petkov
2014-09-19 17:22                     ` Henrique de Moraes Holschuh
2014-09-19 22:35               ` Henrique de Moraes Holschuh
2014-09-29 11:51                 ` Henrique de Moraes Holschuh
2014-09-19  9:56     ` Henrique de Moraes Holschuh
2014-09-19 16:11   ` Henrique de Moraes Holschuh
2014-09-22  0:37 ` Andi Kleen
2014-09-22  0:51   ` H. Peter Anvin
2014-09-22  0:58     ` Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).