Slashdot Mirror


Flaws In Intel Processors Quietly Patched

Nom du Keyboard writes "According to this article in The Inquirer and this Microsoft Knowledge Base article, a fix for some significant problems in many of Intel's most recent processors has been quietly released — by whom is not clear. Patches are available on Microsoft's site. Affected processors include Core 2 Duo E4000/E6000, Core 2 Quad Q6600, Core 2 Xtreme X6800, XC6700, and XC6800. Details on just what has been fixed are scanty (it's called a 'reliability update'), however, it's probably more important than either Intel or Microsoft is openly admitting." There is no indication that Apple users are affected.

76 of 311 comments (clear)

  1. my 1.9432534656 cents worth... by ross.w · · Score: 5, Funny

    If they're releasing the patch so quietly, how will anyone know to apply it?

    --
    If my call is important, why am I talking to a recording?
    1. Re:my 1.9432534656 cents worth... by Jah-Wren+Ryel · · Score: 2, Insightful

      If they're releasing the patch so quietly, how will anyone know to apply it? It's probably a microcode update that your BIOS loads on boot. So, chances are it will be inconspicuously available as part of the next BIOS patch for most systems.
      --
      When information is power, privacy is freedom.
    2. Re:my 1.9432534656 cents worth... by jd · · Score: 3, Insightful

      What worries me is the idea of Microsoft Update mucking with the processor in the first place. And what is Genuine Disadvantage going to think of patching a non-Microsoft product anyway?

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    3. Re:my 1.9432534656 cents worth... by mrsteveman1 · · Score: 4, Informative

      Unless Intel has an update mechanism I'm not aware of, this is a Microcode update, and this is how they are always released.

      And for what its worth it doesn't patch anything, it loads into the processor at boot. Delete the microcode file or remove the OS and the processor will be just as you bought it.

      Just be glad they were smart enough to use such a system where the processor can be updated while running and temporarily, allowing you to revert back to its purchased state.

    4. Re:my 1.9432534656 cents worth... by Poltras · · Score: 4, Insightful

      It's not like windows couldn't mess with your machine anyway. If you don't trust your operating system, how can you trust your whole system.

    5. Re:my 1.9432534656 cents worth... by CTho9305 · · Score: 2, Informative

      Just be glad they were smart enough to use such a system where the processor can be updated while running and temporarily, allowing you to revert back to its purchased state.

      It's actually easier to just use an SRAM to hold microcode patches than to incorporate flash memory or other non-volatile reprogrammable storage on the die. Flash requires a special type of transistor, and fuses generally can't be unblown once they're blown (meaning you'd be very limited in how many patches you could ever apply to a given chip).

    6. Re:my 1.9432534656 cents worth... by expatriot · · Score: 2, Informative

      Neither NOR or NAND flash uses fuses. Fuses were used in the PROM technology from the 70's and 80's. (Though perhaps you were speaking figuratively.)
      The number of times flash memory can be reprogrammed means your PC will be in a landfill site long before the flash breaks.

    7. Re:my 1.9432534656 cents worth... by naasking · · Score: 3, Funny

      It's not like windows couldn't mess with your machine anyway. If you don't trust your operating system, how can you trust your whole system.

      Exactly, and I think Windows has adequately demonstrated that you can't trust it.

    8. Re:my 1.9432534656 cents worth... by Joe+U · · Score: 2, Insightful

      Intel has a microcode update architecture. Basically, you can patch the CPU microcode into RAM on the CPU. It's been around since the Pentium bug that caused a recall.

  2. Intel Macs not affected? by Anonymous Coward · · Score: 5, Insightful

    There is no indication that Apple users are affected.

    What, magical pixie faries fixed the Intels in Macs? How could they not be affected?

    1. Re:Intel Macs not affected? by Anonymous Coward · · Score: 3, Funny

      Something to do with the unicorn semen and pink elephant droppings.

    2. Re:Intel Macs not affected? by shird · · Score: 4, Insightful

      I would guess the bug affects some Ring0 OS type of service/instruction (such as switching in and out of protected mode, paging, faults etc) which MacOS doesn't use. Hence the patch is part of the OS. I speculate that its a workaround in the OS rather than a patch to the actual CPU.

      --
      I.O.U One Sig.
    3. Re:Intel Macs not affected? by Kingrames · · Score: 4, Funny

      It's not that they're not affected. It's that apple fanboys won't admit to it.

      --
      If you can read this, I forgot to post anonymously.
    4. Re:Intel Macs not affected? by MikeBabcock · · Score: 4, Informative

      they can have their microcode updated, but only with a dedicated bridged-bus eeprom burner ($15,000 or so).


      Incorrect. Microcode on Intel processors can be updated live by software. This has been possible for ages. For information on how this can be done in Linux for example, see here.
      --
      - Michael T. Babcock (Yes, I blog)
    5. Re:Intel Macs not affected? by jd · · Score: 4, Interesting
      Depends on the instruction(s) inflicted. Based on the limited information available, it could be anything from a mode that's unused outside of Windows to an instruction that the compiler used for Mac OS/X simply never generates. (A sub-optimal instruction, for example, would be skipped by any decent optimizing compiler as the same thing could be done in superior ways.)

      If anyone wants to place their machine at grave risk, I'd be interested to know what happens if you are running a Windows machine in one virtual container and Linux in another, then patch the microcode from Windows. How does it affect Linux? Do kernel tests, say in the LTP or one of the other testing kits, suddenly succeed where they'd otherwise fail, or vice versa?

      Likewise, if you use IE in WINE and pull the patch down, purely in a Linux environment, does it disrupt Linux, benefit it, or have no impact whatsoever?

      If we knew this, we should be able to figure out more what the defect actually is and what the patch does to correct it, as we can track what Linux is doing at the time something different happens.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    6. Re:Intel Macs not affected? by be-fan · · Score: 2, Insightful

      Since microcode isn't hardware, fixing it shouldn't require any changes to the hardware.

      --
      A deep unwavering belief is a sure sign you're missing something...
    7. Re:Intel Macs not affected? by crayz · · Score: 3, Insightful

      It's funny that everyone is asking where the Apple patch is. How about: where's the Linux patch?

    8. Re:Intel Macs not affected? by Fweeky · · Score: 4, Funny

      3) The on-board reality distortion field generator resolves the problem. At the expense of making nearby computers lacking such devices somewhat *less* reliable, of course.

      I swear, our servers have been behaving more strangely since the guy in the next rack over installed a few Mac Mini's; maybe the RDFG's emmit gamma rays from their embedded naked singularity...

    9. Re:Intel Macs not affected? by TheLink · · Score: 2, Informative

      Uh, almost everything has software nowadays, and that includes most x86 CPUs (microcode).

      To Joe Public, a wireless router would be all hardware. But to Joe Hacker, a wireless router would be mainly software.

      The manufacturer of one of my DVD drives released firmware updates that allowed it to support dual layer DVDs - over time they added better support and more features.

      --
    10. Re:Intel Macs not affected? by ben+there... · · Score: 3, Informative
      This sounds like it doesn't affect much of anyone with a real, existing Core 2 Duo, at least according to the summary...

      Affected processors include Core 2 Duo E4000/E6000, Core 2 Quad Q6600, Core 2 Xtreme X6800, XC6700, and XC6800.

      E4000 - doesn't exist
      E6000 - doesn't exist
      Q6600 - k, this one does exist
      X6800 - this one exists too
      XC6700 - doesn't exist
      XC6800 - doesn't exist

      Of course, they probably meant E4000 and E6000 series, and maybe they meant QX6700 and QX6800...

      I guess it was the inquirer's fault. But they probably could have just said "all Core 2 Duos, Extremes, and Quads."
    11. Re:Intel Macs not affected? by someone300 · · Score: 4, Informative

      The microcode needs to be updated every boot. It's volatile and resets when you turn off the system. See http://urbanmyth.org/microcode/

      As far as I know, all OSes do this.

    12. Re:Intel Macs not affected? by m.dillon · · Score: 4, Interesting

      I couldn't find an exact errata reference but it looks like a ring 0 issue to me too, which means that the OS either doesn't trigger the conditions required or the OS can work around the problem. Some such issues can be fixed in microcode, some have to be dealt with by the operating system.

      There are several known TLB issues that are rather serious which all OSs have to have workarounds for. The most serious issue is that reducing the access permissions in a page table entry (such as turning off the valid bit or making the entry read-only) on one cpu can race another cpu's TLB trying to access that same entry. The race can cut an instruction into two pieces on the other cpu and (if e.g. a read-modify-write instruction) result in fireworks. All modern operating systems have to synchronize page table invalidations across all cpus that might be using the page table in question. So, e.g. in a heavily threaded environment if a page table is shared across three cpus invalidations made in that page table requires all three cpus operating systems to synchronize (usually with an IPI) to guarentee that none of them are accessing memory governed by the page table entry being changed. Kernel virtual memory is even worse, since that is shared by all cpus, which is why its better to just keep a cache of mapped memory instead of constantly mapping and unmapping pages in KVM.

      There are also serious issues with global pages and mixed TLB entries when switching from small pages to large pages, issues when operating in compatibility modes, issues when using address wrapping. Most of these issues only occur with absurd code sequences, such as an instruction which wraps the address space (which will never occur in real life so can be ignored as long as the issue does not cause a failure in the security model). 90% of the errata is not an issue in a nominally running environment.

      -Matt

    13. Re:Intel Macs not affected? by yppiz · · Score: 2, Insightful

      jd writes, in the parent post, "PGCC was rejected utterly by the GCC developers ... it typically produced greatly superior code for Intel-specific processors."

      I really wish gcc developers would choose performance over, well, whatever it is that they went for here.

      Two years ago, I compared C compilers for the AMD64 using the stream benchmark (I was developing an application that had similar performance characteristics to stream). The compiled code that gcc generated was, if I remember correctly, 30% slower than code generated by two closed-source compilers. In looking at the assembly, the chief difference was that the closed-source compilers were aware of the AMD64 series caches, and generated code that would disable or enable the caches as appropriate, resulting in much higher write speeds. gcc's code, on the other hand, appeared to be entirely unaware of the AMD64's capabilities, even with AMD64-specific command line flags enabled.

      If anyone in the gcc community is working on an Intel or AMD64-oriented performance fork, I would love to hear about it.

  3. Microcode by bblount · · Score: 5, Informative

    This patch affects the microcode, which are the underlying machine instructions: http://en.wikipedia.org/wiki/Microcode

    How could this not affect Intel Macs? They use the same machine instructions that everyone else does!

    1. Re:Microcode by suv4x4 · · Score: 2, Insightful

      How could this not affect Intel Macs? They use the same machine instructions that everyone else does!

      Question is, how come you patch microcode hardware flaw with a software patch - is this affecting performance? Possibly.

      About the Macs not being affected: that was funny. Given how secretive the MS/Intel patches are, and we know Apple is totally open about stuff like that, right?

  4. Oh come on, it's nothing by Anonymous Coward · · Score: 5, Funny

    With two such large, trustworthy, open, and reliable organizations involved, which have always looked after the general well being of the industry because what's good us is good for them, do we really need to worry ?

  5. ah, time to dig up the bluewave tagline file... by jollyreaper · · Score: 5, Funny

    How many Pentium designers does it take to screw in a light bulb? 1.94
    Pentiums and Deodorants - When being close is all that matters
    Highlander Pentium: There can be only 1.0101002913491!
    Talking Barbie and the Pentium-90 agree! "Math is hard!"
    "Go forth and multiply... divide only if not on a Pentium..."
    "I am Pentium of Borg--prepare to be approximated"
    Pentium: Making tomorrow's mistakes today
    Pentium slogan: Why Do You Think It's Called *Floating* Point?
    Pentium slogan: Nearly 300 correct opcodes!

    Yeah, I know that Intel bashing is old, that's why I used old jokes.

    --
    Kwisatz Haderach
    Sell the spice to CHOAM
    This Mahdi took Shaddam's Throne
    1. Re:ah, time to dig up the bluewave tagline file... by minion · · Score: 3, Funny

      Man, it was just last week I finally decided to clear out all pre-95 taglines from my BlueWave ONELINER.TXT file. Doh!
       
      I do have these gems still though:
       
      Win2k: "It's not so much that it's only 65,000 bugs, it's just that they stopped at 65,535 to prevent an overflow."
       
      Sun believes the only place for 63,000 bugs is a rain forest.
       

      --

      -- If we don't stand up for our rights, now, there will be no right to stand up for them later.
  6. Why Mac OSX not affected by Anonymous Coward · · Score: 5, Funny

    Mac OSX does not make use of the new x86 BNDOVR opcode, unlike Windows which is dependent on it.

  7. Some more details by macemoneta · · Score: 5, Informative
    I had submitted some additional details in a rejected submission:

    Two months ago, Intel introduced microcode updates for all systems with an Intel® Core(TM) 2 Duo processor. According to an HP Tech Support Document:

    While the implications of the issue are difficult to quantify, any of the following symptoms can occur:

    * The system may stop responding to keyboard or mouse input.
    * A system operating in a Microsoft Windows environment may generate a blue screen.
    * A system operating in a Linux environment may generate a kernel panic.

    This was the first I had heard of this; probably a good time to check for BIOS or microcode updates."

    The HP link also indicates the nature of the problem, which should not be OS specific:

    This Intel microcode update addresses an improper Translation Lookaside Buffer (TLB) invalidation that may result in unpredictable system behavior such as system hangs or incorrect data.

    --

    Can You Say Linux? I Knew That You Could.

    1. Re:Some more details by ibentmywookie · · Score: 4, Informative

      For those that are wondering, the Translation Lookaside Buffer is what is used to map Virtual Addresses to physical page addresses. The TLB is a cache of recent translations between Virtual and Physical addresses. So what could happen with incorrect invalidation is that the WRONG physical page could be resolved and bogus data accessed by the operating system.

      More here.

      --
      -- The doctor said I wouldn't get so many nose bleeds if I just kept my finger out of there!
    2. Re:Some more details by SpaceLifeForm · · Score: 4, Interesting
      From an exploit point of view, this is better than a buffer overflow. Load some data page with some magic, force the bug to occur. Lots of fun.

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
    3. Re:Some more details by Megane · · Score: 2, Informative

      Geez, people, turn off the stupid damn "smart quotes" in your Internet Exploder already. Or stop editing your message in Microsoft Weird and then pasting it into IE.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  8. Re:Intel secrecy by tlhIngan · · Score: 4, Informative

    It's hard to get the errata for intel's processors when your a post SI test engineer, working for intel. Marketing seems to keep a tight fist on bad news.


    Yeah, because going to the processor's documentation page is hard to find. (Look under "specification update"). For the desktop Core2Duo processors, there are 59 pages(PDF) of errata documentation. Updated May 2007...
  9. flash the CPU Microcode - YIKES! by mosel-saar-ruwer · · Score: 2, Insightful


    Uhh, you can flash the CPU Microcode from within a Microsoft OS?!? [Other than DOS?!?]

    Wouldn't this pose like the Mother of All Possible Challenges to the Black Hat community - how to right a worm that could flash CPU's, thereby rendering nearly limitless power over every possible sandboxing or anti-virus countermeasure?

    Kinda the Helen of Troy [or Anne Boleyn] of Hax0r/Crax0r Wet Dreams?

    Seriously - how can you hope to maintain the illusion of Virtual Machines if you can write to the microcode?

    1. Re:flash the CPU Microcode - YIKES! by andreyw · · Score: 4, Insightful

      Uh, read the fine documentation. Microcode updates don't survice power-off. Nevermind that the microcode is a blackbox format, dependent on the chip and likely with a bajillion signatures the silicon checks.

    2. Re:flash the CPU Microcode - YIKES! by timmarhy · · Score: 2, Insightful

      1. blackbox does not make it saver 2. so what if it doesn't survive a boot, just reprogram it with your hacked code every boot

      --
      If you mod me down, I will become more powerful than you can imagine....
    3. Re:flash the CPU Microcode - YIKES! by GauteL · · Score: 3, Insightful

      "so what if it doesn't survive a boot, just reprogram it with your hacked code every boot"

      Which makes it no worse than any other hack, virus or worm. You can already take complete control over the computer without resorting to microcode.

      If it had been permanent and survived reboots, then a complete format and reinstall would not remove the hack. That would have been scary indeed, but luckily that is not the case.

  10. Comment removed by account_deleted · · Score: 4, Informative

    Comment removed based on user account deletion

  11. Re:Dell told me "Windows only" by whoever57 · · Score: 3, Informative

    That's because Dell is pretty much only "Windows only". Why should they care about anything else?
    You do know that Dell offers Red Hat Linux on most if not all servers, don't you?
    --
    The real "Libtards" are the Libertarians!
  12. Linux may not be affected by laing · · Score: 3, Interesting

    True story:

    I ran an AMD Athlon in an Asus MB as a Linux server for 4 years with no trouble (other than noticing that mplayer didn't work right). A few years after I decomissioned the MB, I decided to set it up as an XP box for my 4 year old. I was very surprised to discover that it just would not work right. After some troubleshooting, I found that the CPU had a bug in some of the MMX instructions. By this time it was too late to exchange the chip for a functional one so I just threw it away and bought another one from eBay. My 4 year old is happy with his computer.

    1. Re:Linux may not be affected by monsterlemon · · Score: 2, Informative

      No it doesn't. Many (possibly most?) Linux distributions by default target non-MMX processors for the sake of wider compatibility.

      And we're not all Gentoo-style rice, er, I mean D-I-Y-ers who just have to build everything for ourselves.

      In fact, these days I would expect that most Linux users are unlikely to build software for themselves very often, if at all.

  13. It is quite common for some instructions by EmbeddedJanitor · · Score: 4, Informative
    There are a whole set of instructions to do with cache handling and other OS-centric things that will often be used differently on diferent OSs and it could be one of these. This sort of bug would only manifest itself in certain OSs and in certain ways.

    Typically it is only sequences of instructions that would trigger these bugs. In other words, the CPU has to be in a certain state to trigger the bug. Some OSs will never get in that state. The bugs are surely something like this because otherwise crashes would be far more common than we see.

    The reason why I mention cache handlers is because those are notoriously tricky and have proven buggy before. The Core Duo 2 CPUs need new cache handlers to handle the dual (and more) cores and thus this area is more likely to be buggy.

    --
    Engineering is the art of compromise.
  14. May not affect Macs, or just not tested by Gothmolly · · Score: 2, Informative

    It might NOT affect Macs, because of the way the OSX kernel handles specific failures. Remember when the F00F bug came out, Linus himself quickly came up with a Linux patch that mapped it over to (IIRC) a page fault, which then was handled separately. DOS machines just died.

    For this PARTICULAR microcode issue, OSX _may_ do something interesting with it, and so not be affected. Or, they simply never tested/validated it, and so Apple has no patch.

    --
    I want to delete my account but Slashdot doesn't allow it.
  15. CPU's are Emulators by Effugas · · Score: 4, Informative

    So here's the deal.

    Intel processors don't directly execute instructions anymore. They translate x86 into a series of other operations -- an internal code, if you will. Sometimes there are bugs in the code that's generated. Microcode patches address those bugs.

  16. Re:Heh by be-fan · · Score: 3, Informative

    Everybody publishes errata. AMD's are at: http://www.amd.com/us-en/assets/content_type/white _papers_and_tech_docs/25759.pdf (starting on page 12)

    --
    A deep unwavering belief is a sure sign you're missing something...
  17. Re:Dell told me "Windows only" by ArbitraryConstant · · Score: 2, Informative

    My dealings with Dell on the server side have been pretty satisfactory, even running Slackware or OpenBSD.

    My only complaint is the satisfaction survey they send you after the issue is resolved (not kidding).

    --
    I rarely criticize things I don't care about.
  18. Slashdot readers and microcode by mrsteveman1 · · Score: 4, Insightful

    After reading this thread its amazing to me how many Slashdot readers don't know how microcode works, making broad statements about how patching a processor is impossible without an EEPROM burner, or using a DOS boot disk.

    1. Re:Slashdot readers and microcode by DigiShaman · · Score: 2, Informative

      Microcode is included with all modern BIOS updates. As such, when you update your BIOS revision, you might get a newer microcode update to included. This microcode get's loaded on POST (Power On Self Test).

      As others have pointed out, it resides in RAM (or would that be CPU cache?). So the update must loaded each time you power on the system.

      --
      Life is not for the lazy.
  19. Sir, you will no doubt be shocked to learn.... by Anonymous Coward · · Score: 5, Funny

    that this neither comes with a silver platter, or chilled champagne. I know when this realization dawned on me, my monocle popped out and rolled under my desk. My gentleman's gentleman, Wheatley, has noted his displeasure with your oversight while remedying the situation.

  20. Re:This is a possibility by be-fan · · Score: 3, Informative

    It's actually quite likely. CPU errata tend to effect corner cases. Eg: CPU returns wrong data if you read from an I/O port while servicing a TLB miss (or something like that). These bugs tend to be highly timing and sequence dependent, and its very likely that no two OSs use exactly the same sequence that triggers the bug.

    --
    A deep unwavering belief is a sure sign you're missing something...
  21. Waxing nostalgic by Enderandrew · · Score: 2, Interesting

    Intel was just waxing nostalgic and wanted to remember the good only days.

    http://en.wikipedia.org/wiki/Pentium_FDIV_bug

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  22. Re:Heh by Technician · · Score: 2, Interesting

    Everybody publishes errata.

    Things have changed for the better. I am not a programmer so I don't pay attention to errata. I remember that published and unpublished errata was an issue at about the time the Pentium 90 floating point bug was discovered. Since that major voluntary recall, Intel has taken steps to make CPU's patchable so minor bugs can be fixed. This patch is a good example of that working.

    --
    The truth shall set you free!
  23. Re:This is a possibility by be-fan · · Score: 4, Informative

    . However, any _compiler_ worth its salt will try to use every bit of microcode it can to optimize for a given architecture or microarchitecture

    Actually, compilers try to avoid micro-coded instructions like the plague. On most x86 processors, micro-coded instructions can only issue out of a single issue slot at a fixed rate, and hence their use drastically lowers performance. Modern compilers generally treat the x86 like a RISC with a weird condition register and fancier addressing modes.

    --
    A deep unwavering belief is a sure sign you're missing something...
  24. Asleep at the wheel by edwardpickman · · Score: 4, Insightful

    What's up with the Moderators? I constantly see posts that say the exact opposite thing both modded Informative or Insightful. We need a category "Incorrect". If the Moderators don't know the correct answer they should refrain from moderating either Insightful or Informative. It may be informing but the post is informing people with incorrect information.

    1. Re:Asleep at the wheel by Beardo+the+Bearded · · Score: 4, Funny

      It's how you Karma Whore. Observe:

      This is a serious problem for Java and .NET as well, since both of those virtual machines have to translate this incorrect opcode into the correct functionality.

      What this patch fails to realize is the problems with the instruction listed on Intel's website. A similar bug in all x86 chips manufactured since 2004 (yes, really!) requires that most compilers have to work around it. (The patch in BCB wasn't ready until late 2005, which is what lead to a 15% drop in their market share.) It has become a problem in real-world applications requiring time-critical code. It may not mean much to most "high-level" programmers, but SOME of us still get into the assembly code every now and then. It's a real nightmare, and it's not something that you expect from a company like Intel.

      I refer you to the errata at http://docs.intel.com/kb2004/hwbugs/knownissues.ht ml

      See what I mean? It totally looks like I know what I'm saying, but it's a complete fabrication. If I didn't put these lines bookmarking it as just plain dumbassedness, then I'd probably get modded up for it. Hell, I'll probably STILL get modded up. Some lazy mods (myself included) treat the mod points like a hot potato, or leprosy.

      I think this post is funny, but then again, it's well past my bed-time.

      --

      ---
      ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
  25. Is everyone here blind? by pallmall1 · · Score: 2, Interesting

    Good grief, put two and two together. No information about what the patch does, it's a Microsoft update, and Apple and Linux aren't affected. It's the DRM, stupid! -- (borrowed from the Bill Clinton 1992 campaign).

    --
    3 things about computers: they're alive, they're self-aware, and they hate your guts.
  26. correct by r00t · · Score: 4, Informative

    The Linux kernel is not currently affected, though some multi-processor apps with homegrown assembly might be.

    The problem is some sort of atomic operation sequence. Somebody let slip a reference to the bug on a mailing list today, without any real details. Probably the details are still under NDA.

    1. Re:correct by ocbwilg · · Score: 5, Informative

      The Linux kernel is not currently affected, though some multi-processor apps with homegrown assembly might be.

      The problem is some sort of atomic operation sequence. Somebody let slip a reference to the bug on a mailing list today, without any real details. Probably the details are still under NDA.


      I did some digging around, and it actually looks like this is a patch for a bug in the Translation Lookaside Buffer (TLB) that was discovered back in April. Microsoft has released a patch for people running current versions of Windows (Vista, XP, and server 2003) but if you're running anything else then you will have to get a new BIOS update to resolve the issue. If you check the major hardware vendors web sites (HP, IBM, etc) the are offering patches to their system ROMs regardless of the OS.

      I know that it's popular on Slashdot to claim that Linux isn't vulnerable to the same bugs that Microsoft operating systems are, but when it comes to processor bugs (errata, in Intel-speak) that's simply not the case. Linux does make use of the TLBs. Every modern OS does. If you look at the hardware vendors' web sites, you will see that they specifically state that the bug could lead to a BSOD on Windows or a kernel panic on Linux.

  27. Re:Looks like an OS update by atrus · · Score: 2, Informative

    Linux has it too (microcode updates have been available since the Pentium Pro days). The microcode update is soft though, the original microcode is restored on a reboot. The best fix would be a relevant BIOS update which loads the patched microcode much earlier.

  28. Blah - Old News by FuegoFuerte · · Score: 3, Interesting

    Blah I say. Blah. This is old news. I first read about it over a month ago when Dell shipped a "critical update" for some of their laptops for this issue. Check out this HP advisory from a couple weeks ago:

    http://h20000.www2.hp.com/bizsupport/TechSupport/D ocument.jsp?objectID=c01038053

    Dell released an update for PE2950 servers around the same time.

    So again I say, Blah.

    *YAWN*

  29. Re:Ooops, I'm the blind one by afaik_ianal · · Score: 5, Insightful

    Given the level of secrecy that Intel and Microsoft are giving to the nature of the bug, I still think that DRM is the true culprit.


    And given that I have no evidence either way, it must be the fairies. What kind of an argument is that? If they were being so secretive to hide the nature of the patches, why would they go and label them in the fricking file names?

    Isn't it more plausible that the file names have the word "genuine" in them because like many patches, they're only available to activated windows boxes, and that it's just some random bug in the microcode being fixed?

    I think you've had the tinfoil hat on a little bit too long.
  30. yes, but... by r00t · · Score: 2, Insightful

    Normally a microcode update is flashed into the motherboard with a BIOS update. That is damn close to being the same thing. Not too many people upgrade their BIOS, and fewer still would consider downgrading. Not too many people replace motherboards separately from CPUs, especially these days with a new CPU socket shape being invented every other day.

  31. This has been out for Linux for months.. by Anonymous Coward · · Score: 2, Informative

    Well, Intel does release these every so often -- the fact that Intel released updated microcode is hardly news. How these patches work is that Intel releases the Microcode. OS suppliers then take that Microcode and incorporate it into their OS's microcode update facility -- it's already released for Linux for crying out loud! The odds are that Apple have included this Microcode update, it's just been rolled into one of the other updates that nobody's noticed yet.

    These updates can also be loaded into your BIOS too so they're loaded prior to OS startup; it's just that it's usually a lot easier to update OS installations than reflashing lots of different BIOS variants. However, I suspect this is exactly what Apple have done -- they've incorporated this microcode update into their EFI updates and/or will include this version in the next round of updates.

    About the only surprising thing is that Micosoft have actually wrapped it up and released it. Usually they don't bother unless they've actually had issues that are fixed by microcode updates.

  32. Linux not affected by alanw · · Score: 2, Informative

    The HP link also indicates the nature of the problem, which should not be OS specific: This Intel microcode update addresses an improper Translation Lookaside Buffer (TLB) invalidation that may result in unpredictable system behavior such as system hangs or incorrect data. This recent posting to the Linux Kernel Mailing List by Andi Kleen states that Linux is not affected.

    > It's been a while; is there any sign of the ucode updates being
    > available, especially in light of the C2D/Q incorrect TLB invalidation
    > + recent ucode to fix this?

    That microcode update is not needed on any recent Linux kernel; it flushes
    the TLBs in a way that is fine.
  33. Re:Heh by Tyger · · Score: 4, Informative

    You can download the software developers manual for Intel's line of processors, which covers pretty much everything you ever needed to know, lots you probably didn't, and then some.

    It's historically been 3 volumes, but these days they have volume 2A, 2B, 3A, 3B, plus there is the optimization reference, and some changes and notes.

    Have a blast!

  34. Errata by oglueck · · Score: 3, Informative

    Intel has released an errata document.
    For June 2007 it lists 3 new errata:

    AH106
    A memory access may get a wrong memory type following a #GP due to WRMSR to an MTRR mask.

    AH107
    PMI while LBR freeze enabled may result in old/out-of-date LBR information

    AH5P
    VTPR may lead to a system hang

    However, the document states that there are no fixes available. So it's probably not what MS/Intel is addressing here.

  35. Re:Ugh, I hated that bug. by Wavicle · · Score: 5, Informative
    Oh did you?

    1) The Pentium FDIV bug produced an incorrect answer in 1 in 9 billion double precision floating point divides. It did not affect integer divides.
    2) The answer always contained at least 14 correct significant bits (usually more, but an error in the 15th significant bit was the worst case). The means that single precision calculations were almost invariably correct.
    3) Any hack to solve the problem would have been hundreds of times slower than just living with a small error in so few calculations.
    4) All games today get by just fine using single precision floats for rendering.
    5) It took a guy (Thomas Nicely) with a Ph.D. doing heavy research in computational number theory to find it, yet you found it while working on a game in QuickBasic.

    I think Nicely said it best in his FDIV flaw FAQ:

    Bear in mind, however, that the likelihood is 1000 to 1000000 times
    greater that any erroneous results obtained on a Pentium are due to
    software errors, rather than any error in the CPU.
    and also:

    Over a period of five years, no person was ever able to collect a
    reward offered for exhibiting (other than with a code artificially
    contrived to demonstrate the error), on either of two workplace
    systems intentionally left with flawed CPUs installed, an error
    caused by the flaw.
    --
    Education is a better safeguard of liberty than a standing army.
    Edward Everett (1794 - 1865)
  36. Re:Updating microcode from within a VM by Anonymous Coward · · Score: 2, Informative

    If anyone wants to place their machine at grave risk, I'd be interested to know what happens if you are running a Windows machine in one virtual container and Linux in another, then patch the microcode from Windows. How does it affect Linux? Do kernel tests, say in the LTP or one of the other testing kits, suddenly succeed where they'd otherwise fail, or vice versa?
    One of the errata listed by Intel explains that this isn't supposed to be possible, then warns that it is:

    AI88. Microcode Updates Performed During VMX Non-root Operation Could Result in Unexpected Behavior

    Problem: When Intel® Virtualization Technology is enabled, microcode updates are allowed only during VMX root operations. Attempts to apply microcode updates while in VMX non-root operation should be silently ignored. Due to this erratum, the processor may allow microcode updates during VMX nonroot operations if not explicitly prevented by the host software. Implication: Microcode updates performed in non-root operation may result in unexpected system behavior.

    Workaround: Host software should intercept and prevent loads to IA32_BIOS_UPDT_TRIG MSR (79H) during VMX non-root operations. There are two mechanism that can be used (1) Enabling MSR access protection in the VM-execution controls or (2) Enabling selective MSR protection of IA32_BIOS_UPDT_TRIG MSR. Status: For the steppings affected, see the Summary Tables of Changes.

  37. Re:In Soviet Russia ... by cowbutt · · Score: 3, Insightful

    The FDIV bug and associated fallout shortly preceded Intel's introduction of the microcode update facility. I don't think the two issues are unrelated.

  38. Re:Patch for Linux... when? by cowbutt · · Score: 4, Informative
    a) Presumably recent versions of Windows include equivalent functionality to Tigran Aivazian's microcode_ctl for Linux, which allows the CPU microcode to be updated from firmware files once the OS has booted. (The usual way is that the BIOS ships with a set of updated microcode firmwares for various supported CPUs and loads them during the pre-boot phase of startup).

    b) If you're running a Red Hat-derived distro, watch out for updates to the kernel-utils package, which provides microcode_ctl and /etc/firmware/microcode.dat. It might also be worth checking Tigran's site a bit more regularly. I note that his page includes a microcode.dat which is about 7 months newer than that currently provided by CentOS 4.5's kernel-utils package.

  39. Re:Ooops, I'm the blind one by cowbutt · · Score: 2, Informative
    ...because the microsoft update filenames all have the word "genuine" in them

    No, the phrase 'genuineintel' is used, because that's how Intel chips identify themselves using the CPUID opcode.

  40. That can't be right. by goombah99 · · Score: 3, Insightful

    Depends on the instruction(s) inflicted. Based on the limited information available, it could be ....an instruction that the compiler used for Mac OS/X simply never generates. (A sub-optimal instruction, for example, would be skipped by any decent optimizing compiler as the same thing could be done in superior ways.) That makes no sense. Apple can't know what compiler third party used to compile some piece of software. For that matter someone might have handcoded it. Your theory that it could be some mode not used in mac-os makes more sense since the OS might possibly prevent certain modes from being accessed by any non-apple software.
    --
    Some drink at the fountain of knowledge. Others just gargle.
  41. Re:Ooops, I'm the blind one by ocbwilg · · Score: 3, Informative

    Isn't it more plausible that the file names have the word "genuine" in them because like many patches, they're only available to activated windows boxes, and that it's just some random bug in the microcode being fixed?

    The bug in question is the bug in the TLB that was discovered back in April. Here's HP's page on it. I think that the only reason it's news today is because Microsoft has either just released or re-released a patch to fix the issue on Windows boxes.

  42. What counts as "hardware" anyway? by Dogtanian · · Score: 2, Informative

    Since microcode isn't hardware, fixing it shouldn't require any changes to the hardware. This is true; however, microcode *does* blur the line between software and hardware.

    (Disclaimer; I am not an expert on the subject matter, take the following with a pinch of salt).

    Consider this; do you really have x86 CPU "hardware" in your Intel-based PC? This depends on how you define "hardware".

    As far as I'm aware, all modern Intel "x86" CPUs (Pentium Pro/Pentium II onwards) have a RISC core. They have to convert the long and irregular (i.e. nothing like RISC) x86 code into the native RISC instruction set via microcode. So it could reasonably be argued that the CPUs aren't actually executing the x86 instructions themselves in hardware.

    Of course, all this is transparent to the user; as far as they are concerned, the CPU *is* "hardware", and I'm not sure if any of this is even visible from a system-designer's point of view (i.e. the processor is- I'd assume- still a "black box" for this purpose).

    Anyway, I assume they did this because- even with the overhead of translation and the added complexity- it would still have made optimising the design much easier. Generally speaking, this is one of the major benefits of RISC design; x86's CISC instructions (i.e. long, complex and irregular) would have presented a major headache to Intel's engineers.

    It's notable that the older Pentium-I had a CISC core; so internally the chip was *very* different from the Pentium Pro/P-II. I assume this means that it *was* based around the x86 instruction set to some extent, although I don't know how much- if any- conversion or translation of instructions via microcode was involved. I suspect that because the core hardware would have been based round the x86 instructions themselves and less reliant on microcode, fixing bugs (etc) via microcode would have been far harder- if it was possible at all.
    --
    "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
  43. Re:In Soviet Russia ... by Joe+U · · Score: 2, Informative

    Of course they're related. I remember Intel announcing the whole idea of the microcode update was to avoid another bug like that.