What does the “bugs” section of /proc/cpuinfo actually show? Announcing the arrival of...

Married in secret, can marital status in passport be changed at a later date?

How was Lagrange appointed professor of mathematics so early?

What were wait-states, and why was it only an issue for PCs?

What is the purpose of the side handle on a hand ("eggbeater") drill?

Why doesn't the university give past final exams' answers?

Is there an efficient way for synchronising audio events real-time with LEDs using an MCU?

Variable does not exist: sObjectType (Task.sObjectType)

Is a self contained air-bullet cartridge feasible?

Why I cannot instantiate a class whose constructor is private in a friend class?

What is the ongoing value of the Kanban board to the developers as opposed to management

How would it unbalance gameplay to rule that Weapon Master allows for picking a fighting style?

Will I lose my paid in full property

Retract an already submitted Recommendation Letter (written for an undergrad student)

Bright yellow or light yellow?

RIP Packet Format

What happened to Viserion in Season 7?

Preserving file and folder permissions with rsync

Is it OK if I do not take the receipt in Germany?

Test if all elements of a Foldable are the same

Determinant of a matrix with 2 equal rows

Was there ever a LEGO store in Miami International Airport?

SQL Server placement of master database files vs resource database files

Writing a T-SQL stored procedure to receive 4 numbers and insert them into a table

What is the numbering system used for the DSN dishes?



What does the “bugs” section of /proc/cpuinfo actually show?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30 pm US/Eastern)
2019 Community Moderator Election Results
Why I closed the “Why is Kali so hard” questionHow to fix Spectre variant 3a and variant 4?What do the flags in /proc/cpuinfo mean?Why do I have four CPUs listed in /proc/cpuinfo?/proc/cpuinfo showing zero cpu clock speedIntel Xeon stuck at 800mhz CPU Freq on RHEL 6.5How does /proc/$PID/fd actually work?CPU speed and cat /proc/cpuinfoWhat are the frequencies displayed in /proc/cpuinfo?Why does top show a different number of cores than cpuinfo?How to mitigate the Spectre and Meltdown vulnerabilities on Linux systems?Spectre variant 2 is not supported by hardware





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







21















On a Debian Stretch and testing/Buster system with a current kernel and installed microcode I still see meltdown and spectre listed as bugs in /proc/cpuinfo.



However, running the spectre-meltdown-checker shows not vulnerable.



So I'm wondering what /proc/cpuinfo does show. Are these just the vulnerabilities for this cpu and will those always be listed despite having a patched system?










share|improve this question































    21















    On a Debian Stretch and testing/Buster system with a current kernel and installed microcode I still see meltdown and spectre listed as bugs in /proc/cpuinfo.



    However, running the spectre-meltdown-checker shows not vulnerable.



    So I'm wondering what /proc/cpuinfo does show. Are these just the vulnerabilities for this cpu and will those always be listed despite having a patched system?










    share|improve this question



























      21












      21








      21


      2






      On a Debian Stretch and testing/Buster system with a current kernel and installed microcode I still see meltdown and spectre listed as bugs in /proc/cpuinfo.



      However, running the spectre-meltdown-checker shows not vulnerable.



      So I'm wondering what /proc/cpuinfo does show. Are these just the vulnerabilities for this cpu and will those always be listed despite having a patched system?










      share|improve this question
















      On a Debian Stretch and testing/Buster system with a current kernel and installed microcode I still see meltdown and spectre listed as bugs in /proc/cpuinfo.



      However, running the spectre-meltdown-checker shows not vulnerable.



      So I'm wondering what /proc/cpuinfo does show. Are these just the vulnerabilities for this cpu and will those always be listed despite having a patched system?







      linux cpu proc






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jul 16 '18 at 9:41









      ctrl-alt-delor

      12.6k52663




      12.6k52663










      asked Jul 15 '18 at 13:00









      hurrberthurrbert

      10613




      10613






















          2 Answers
          2






          active

          oldest

          votes


















          20














          The intent of the “bugs” field in /proc/cpuinfo is described in the commit message which introduced it:




          x86/cpufeature: Add bug flags to /proc/cpuinfo



          Dump the flags which denote we have detected and/or have applied bug
          workarounds to the CPU we're executing on, in a similar manner to the
          feature flags.



          The advantage is that those are not accumulating over time like the CPU
          features.




          Previously, hardware bugs that the kernel detected were listed as separate features (e.g. the infamous F00F bug, which has its own f00f_bug entry in /proc/cpuinfo on 32-bit x86 systems). The “bugs” entry was introduced to hold these in a single feature going forwards, in the same style as x86 CPU flags.



          As far as what the entries mean in practice, as you can see in the message, all that’s guaranteed is that the kernel detected a hardware bug. You’ll need to look elsewhere (boot messages, or specific /proc entries or /sys entries such as the files in /sys/devices/system/cpu/vulnerabilities/) to determine whether the issues are dealt with.



          The usefulness of the “bugs” entries is limited in two ways. The first is that true negatives can’t be distinguished from unknowns: if the field doesn’t specify “cpu_meltdown”, you can’t know (just from the field) whether that means that the kernel doesn’t know about Meltdown, or that your CPU isn’t affected by Meltdown. The second is that the detection can be too simplistic; it errs on the side of caution, so it might report that your CPU is vulnerable when it isn’t. Because the “detection” is table-driven, its accuracy depends on which version of the kernel you’re running.



          In the case of Meltdown and Spectre bugs, the detection process which feeds the values in /proc/cpuinfo works as follows, on x86:




          • if the CPU doesn’t perform any speculation (486-class, some Pentium-class, some Atoms), it’s not flagged as affected by Meltdown or Spectre;

          • all remaining CPUs are flagged as affected by Spectre variants 1 and 2 (regardless of microcode revision etc.);

          • if the CPU isn’t listed as not susceptible to speculative store bypass, if its microcode doesn’t claim to mitigate SSB, and if the CPU doesn’t claim to mitigate SSB, then it’s flagged as affected by SSB;

          • if the CPU isn’t listed as not susceptible to Meltdown (AMD), and if its microcode doesn’t claim to mitigate Meltdown, then it’s flagged as affected by Meltdown.






          share|improve this answer





















          • 2





            In the case of spectre and meltdown they're not even detected but just assumed. I have an in-order x86 that's not affected by either, but the kernel just reports that it is anyway because of a hardcoded rule that basically says "any Intel cpu older than X without a microcode patch applied is vulnerable to meltdown".

            – R..
            Jul 16 '18 at 0:30






          • 2





            @R.. is your CPU included in the in-order tables in the kernel? (Look for “cpu_no_speculation” here to see the latest tables.) That is indeed one of the problems with the “bugs” entry wrt. Meltdown, Spectre and co., its accuracy really depends on how recent your kernel is since their “detection” is table-driven.

            – Stephen Kitt
            Jul 16 '18 at 8:45













          • No, it's a Centerton Bonnell and it's missing from there. I'll see about submitting a patch.

            – R..
            Jul 16 '18 at 15:18





















          11














          The Meltdown/Spectre vulnerabilities are on the CPU chipset design/architecture, and short of buying new future hardware, the patches are a nice illusion of security over the long term. New methods of exploiting the flaws might surface over time that are able to bypass the current patches.



          In short, the current software patches/microcode mitigate the problems against known methods of Spectre/Meltdown family of exploits, but do not solve the underlying CPU design problems that allow them in the first place. The affected (several generations) of CPUs have not stopped being vulnerable in the long run (and most probably never will).



          However, as @Gilles correctly states, having that warning does not mean the current known exploits Spectre/Meltdown methods will work; they won't work if the patches are installed.



          In the case mentioned in the question, the kernel is only checking for the CPU models known to be affected by Spectre/Meltdown (all x86 CPUs for now if we are talking only about x86), and hence the cpu-insecure still being listed in the bug section/line in /proc/cpuinfo.




          Go check your /proc/cpuinfo. It will contain cpu_insecure if your
          kernel has the KPTI patch



          I've found that the KPTI patch has this piece of code:



             /* Assume for now that ALL x86 CPUs are insecure */
          setup_force_cpu_bug(X86_BUG_CPU_INSECURE);


          And after the kernel update, you get:



          bugs      : cpu_insecure



          PS. There was already a round of updates for a new method for exploiting the Spectre/Meltdown "bugs". It probably won't be the last time.






          share|improve this answer





















          • 2





            e.g. If you can hold off buying hw for a while, wait for a new generation of CPUs. My crystal ball tell me we will have a lot of 2nd hand servers selling for peanuts in the medium term.

            – Rui F Ribeiro
            Jul 15 '18 at 13:32











          • CPU bugs are listed in /proc/cpuinfo even if they are fully mitigated by a software patch. Their presence does not mean that your system is vulnerable to that particular bug.

            – Gilles
            Jul 15 '18 at 17:15











          • @Gilles granted, you wont be able to apply known exploits. However we had already already a round of exploits going around the 1st generation of patches, and I would venture to say there a lot of commercial interests out there silencing the critics of this being a fundamental design flaw that will force a major CPU redesign.

            – Rui F Ribeiro
            Jul 15 '18 at 17:25






          • 1





            That's true of Spectre/Meltdown-type exploits, they're fundamental design issues that will keep on giving. But you wrote that this is true of the bugs line shows, and this is just wrong. Most CPU design bugs have a full software workaround that only costs a little performance. If the kernel applies the workaround, then the bug is harmless.

            – Gilles
            Jul 15 '18 at 17:53






          • 1





            @Rui oh I think I didn’t express myself clearly enough — I meant that the article didn’t answer the question that its own title asked, not that it didn’t answer this question ;-). (As in, the article’s title is “How the industry-breaking Spectre bug stayed secret for seven months”, but the article doesn’t explain how IMO.)

            – Stephen Kitt
            Jul 16 '18 at 11:34












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "106"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f456425%2fwhat-does-the-bugs-section-of-proc-cpuinfo-actually-show%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          20














          The intent of the “bugs” field in /proc/cpuinfo is described in the commit message which introduced it:




          x86/cpufeature: Add bug flags to /proc/cpuinfo



          Dump the flags which denote we have detected and/or have applied bug
          workarounds to the CPU we're executing on, in a similar manner to the
          feature flags.



          The advantage is that those are not accumulating over time like the CPU
          features.




          Previously, hardware bugs that the kernel detected were listed as separate features (e.g. the infamous F00F bug, which has its own f00f_bug entry in /proc/cpuinfo on 32-bit x86 systems). The “bugs” entry was introduced to hold these in a single feature going forwards, in the same style as x86 CPU flags.



          As far as what the entries mean in practice, as you can see in the message, all that’s guaranteed is that the kernel detected a hardware bug. You’ll need to look elsewhere (boot messages, or specific /proc entries or /sys entries such as the files in /sys/devices/system/cpu/vulnerabilities/) to determine whether the issues are dealt with.



          The usefulness of the “bugs” entries is limited in two ways. The first is that true negatives can’t be distinguished from unknowns: if the field doesn’t specify “cpu_meltdown”, you can’t know (just from the field) whether that means that the kernel doesn’t know about Meltdown, or that your CPU isn’t affected by Meltdown. The second is that the detection can be too simplistic; it errs on the side of caution, so it might report that your CPU is vulnerable when it isn’t. Because the “detection” is table-driven, its accuracy depends on which version of the kernel you’re running.



          In the case of Meltdown and Spectre bugs, the detection process which feeds the values in /proc/cpuinfo works as follows, on x86:




          • if the CPU doesn’t perform any speculation (486-class, some Pentium-class, some Atoms), it’s not flagged as affected by Meltdown or Spectre;

          • all remaining CPUs are flagged as affected by Spectre variants 1 and 2 (regardless of microcode revision etc.);

          • if the CPU isn’t listed as not susceptible to speculative store bypass, if its microcode doesn’t claim to mitigate SSB, and if the CPU doesn’t claim to mitigate SSB, then it’s flagged as affected by SSB;

          • if the CPU isn’t listed as not susceptible to Meltdown (AMD), and if its microcode doesn’t claim to mitigate Meltdown, then it’s flagged as affected by Meltdown.






          share|improve this answer





















          • 2





            In the case of spectre and meltdown they're not even detected but just assumed. I have an in-order x86 that's not affected by either, but the kernel just reports that it is anyway because of a hardcoded rule that basically says "any Intel cpu older than X without a microcode patch applied is vulnerable to meltdown".

            – R..
            Jul 16 '18 at 0:30






          • 2





            @R.. is your CPU included in the in-order tables in the kernel? (Look for “cpu_no_speculation” here to see the latest tables.) That is indeed one of the problems with the “bugs” entry wrt. Meltdown, Spectre and co., its accuracy really depends on how recent your kernel is since their “detection” is table-driven.

            – Stephen Kitt
            Jul 16 '18 at 8:45













          • No, it's a Centerton Bonnell and it's missing from there. I'll see about submitting a patch.

            – R..
            Jul 16 '18 at 15:18


















          20














          The intent of the “bugs” field in /proc/cpuinfo is described in the commit message which introduced it:




          x86/cpufeature: Add bug flags to /proc/cpuinfo



          Dump the flags which denote we have detected and/or have applied bug
          workarounds to the CPU we're executing on, in a similar manner to the
          feature flags.



          The advantage is that those are not accumulating over time like the CPU
          features.




          Previously, hardware bugs that the kernel detected were listed as separate features (e.g. the infamous F00F bug, which has its own f00f_bug entry in /proc/cpuinfo on 32-bit x86 systems). The “bugs” entry was introduced to hold these in a single feature going forwards, in the same style as x86 CPU flags.



          As far as what the entries mean in practice, as you can see in the message, all that’s guaranteed is that the kernel detected a hardware bug. You’ll need to look elsewhere (boot messages, or specific /proc entries or /sys entries such as the files in /sys/devices/system/cpu/vulnerabilities/) to determine whether the issues are dealt with.



          The usefulness of the “bugs” entries is limited in two ways. The first is that true negatives can’t be distinguished from unknowns: if the field doesn’t specify “cpu_meltdown”, you can’t know (just from the field) whether that means that the kernel doesn’t know about Meltdown, or that your CPU isn’t affected by Meltdown. The second is that the detection can be too simplistic; it errs on the side of caution, so it might report that your CPU is vulnerable when it isn’t. Because the “detection” is table-driven, its accuracy depends on which version of the kernel you’re running.



          In the case of Meltdown and Spectre bugs, the detection process which feeds the values in /proc/cpuinfo works as follows, on x86:




          • if the CPU doesn’t perform any speculation (486-class, some Pentium-class, some Atoms), it’s not flagged as affected by Meltdown or Spectre;

          • all remaining CPUs are flagged as affected by Spectre variants 1 and 2 (regardless of microcode revision etc.);

          • if the CPU isn’t listed as not susceptible to speculative store bypass, if its microcode doesn’t claim to mitigate SSB, and if the CPU doesn’t claim to mitigate SSB, then it’s flagged as affected by SSB;

          • if the CPU isn’t listed as not susceptible to Meltdown (AMD), and if its microcode doesn’t claim to mitigate Meltdown, then it’s flagged as affected by Meltdown.






          share|improve this answer





















          • 2





            In the case of spectre and meltdown they're not even detected but just assumed. I have an in-order x86 that's not affected by either, but the kernel just reports that it is anyway because of a hardcoded rule that basically says "any Intel cpu older than X without a microcode patch applied is vulnerable to meltdown".

            – R..
            Jul 16 '18 at 0:30






          • 2





            @R.. is your CPU included in the in-order tables in the kernel? (Look for “cpu_no_speculation” here to see the latest tables.) That is indeed one of the problems with the “bugs” entry wrt. Meltdown, Spectre and co., its accuracy really depends on how recent your kernel is since their “detection” is table-driven.

            – Stephen Kitt
            Jul 16 '18 at 8:45













          • No, it's a Centerton Bonnell and it's missing from there. I'll see about submitting a patch.

            – R..
            Jul 16 '18 at 15:18
















          20












          20








          20







          The intent of the “bugs” field in /proc/cpuinfo is described in the commit message which introduced it:




          x86/cpufeature: Add bug flags to /proc/cpuinfo



          Dump the flags which denote we have detected and/or have applied bug
          workarounds to the CPU we're executing on, in a similar manner to the
          feature flags.



          The advantage is that those are not accumulating over time like the CPU
          features.




          Previously, hardware bugs that the kernel detected were listed as separate features (e.g. the infamous F00F bug, which has its own f00f_bug entry in /proc/cpuinfo on 32-bit x86 systems). The “bugs” entry was introduced to hold these in a single feature going forwards, in the same style as x86 CPU flags.



          As far as what the entries mean in practice, as you can see in the message, all that’s guaranteed is that the kernel detected a hardware bug. You’ll need to look elsewhere (boot messages, or specific /proc entries or /sys entries such as the files in /sys/devices/system/cpu/vulnerabilities/) to determine whether the issues are dealt with.



          The usefulness of the “bugs” entries is limited in two ways. The first is that true negatives can’t be distinguished from unknowns: if the field doesn’t specify “cpu_meltdown”, you can’t know (just from the field) whether that means that the kernel doesn’t know about Meltdown, or that your CPU isn’t affected by Meltdown. The second is that the detection can be too simplistic; it errs on the side of caution, so it might report that your CPU is vulnerable when it isn’t. Because the “detection” is table-driven, its accuracy depends on which version of the kernel you’re running.



          In the case of Meltdown and Spectre bugs, the detection process which feeds the values in /proc/cpuinfo works as follows, on x86:




          • if the CPU doesn’t perform any speculation (486-class, some Pentium-class, some Atoms), it’s not flagged as affected by Meltdown or Spectre;

          • all remaining CPUs are flagged as affected by Spectre variants 1 and 2 (regardless of microcode revision etc.);

          • if the CPU isn’t listed as not susceptible to speculative store bypass, if its microcode doesn’t claim to mitigate SSB, and if the CPU doesn’t claim to mitigate SSB, then it’s flagged as affected by SSB;

          • if the CPU isn’t listed as not susceptible to Meltdown (AMD), and if its microcode doesn’t claim to mitigate Meltdown, then it’s flagged as affected by Meltdown.






          share|improve this answer















          The intent of the “bugs” field in /proc/cpuinfo is described in the commit message which introduced it:




          x86/cpufeature: Add bug flags to /proc/cpuinfo



          Dump the flags which denote we have detected and/or have applied bug
          workarounds to the CPU we're executing on, in a similar manner to the
          feature flags.



          The advantage is that those are not accumulating over time like the CPU
          features.




          Previously, hardware bugs that the kernel detected were listed as separate features (e.g. the infamous F00F bug, which has its own f00f_bug entry in /proc/cpuinfo on 32-bit x86 systems). The “bugs” entry was introduced to hold these in a single feature going forwards, in the same style as x86 CPU flags.



          As far as what the entries mean in practice, as you can see in the message, all that’s guaranteed is that the kernel detected a hardware bug. You’ll need to look elsewhere (boot messages, or specific /proc entries or /sys entries such as the files in /sys/devices/system/cpu/vulnerabilities/) to determine whether the issues are dealt with.



          The usefulness of the “bugs” entries is limited in two ways. The first is that true negatives can’t be distinguished from unknowns: if the field doesn’t specify “cpu_meltdown”, you can’t know (just from the field) whether that means that the kernel doesn’t know about Meltdown, or that your CPU isn’t affected by Meltdown. The second is that the detection can be too simplistic; it errs on the side of caution, so it might report that your CPU is vulnerable when it isn’t. Because the “detection” is table-driven, its accuracy depends on which version of the kernel you’re running.



          In the case of Meltdown and Spectre bugs, the detection process which feeds the values in /proc/cpuinfo works as follows, on x86:




          • if the CPU doesn’t perform any speculation (486-class, some Pentium-class, some Atoms), it’s not flagged as affected by Meltdown or Spectre;

          • all remaining CPUs are flagged as affected by Spectre variants 1 and 2 (regardless of microcode revision etc.);

          • if the CPU isn’t listed as not susceptible to speculative store bypass, if its microcode doesn’t claim to mitigate SSB, and if the CPU doesn’t claim to mitigate SSB, then it’s flagged as affected by SSB;

          • if the CPU isn’t listed as not susceptible to Meltdown (AMD), and if its microcode doesn’t claim to mitigate Meltdown, then it’s flagged as affected by Meltdown.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Jul 16 '18 at 8:43

























          answered Jul 15 '18 at 16:19









          Stephen KittStephen Kitt

          182k26420499




          182k26420499








          • 2





            In the case of spectre and meltdown they're not even detected but just assumed. I have an in-order x86 that's not affected by either, but the kernel just reports that it is anyway because of a hardcoded rule that basically says "any Intel cpu older than X without a microcode patch applied is vulnerable to meltdown".

            – R..
            Jul 16 '18 at 0:30






          • 2





            @R.. is your CPU included in the in-order tables in the kernel? (Look for “cpu_no_speculation” here to see the latest tables.) That is indeed one of the problems with the “bugs” entry wrt. Meltdown, Spectre and co., its accuracy really depends on how recent your kernel is since their “detection” is table-driven.

            – Stephen Kitt
            Jul 16 '18 at 8:45













          • No, it's a Centerton Bonnell and it's missing from there. I'll see about submitting a patch.

            – R..
            Jul 16 '18 at 15:18
















          • 2





            In the case of spectre and meltdown they're not even detected but just assumed. I have an in-order x86 that's not affected by either, but the kernel just reports that it is anyway because of a hardcoded rule that basically says "any Intel cpu older than X without a microcode patch applied is vulnerable to meltdown".

            – R..
            Jul 16 '18 at 0:30






          • 2





            @R.. is your CPU included in the in-order tables in the kernel? (Look for “cpu_no_speculation” here to see the latest tables.) That is indeed one of the problems with the “bugs” entry wrt. Meltdown, Spectre and co., its accuracy really depends on how recent your kernel is since their “detection” is table-driven.

            – Stephen Kitt
            Jul 16 '18 at 8:45













          • No, it's a Centerton Bonnell and it's missing from there. I'll see about submitting a patch.

            – R..
            Jul 16 '18 at 15:18










          2




          2





          In the case of spectre and meltdown they're not even detected but just assumed. I have an in-order x86 that's not affected by either, but the kernel just reports that it is anyway because of a hardcoded rule that basically says "any Intel cpu older than X without a microcode patch applied is vulnerable to meltdown".

          – R..
          Jul 16 '18 at 0:30





          In the case of spectre and meltdown they're not even detected but just assumed. I have an in-order x86 that's not affected by either, but the kernel just reports that it is anyway because of a hardcoded rule that basically says "any Intel cpu older than X without a microcode patch applied is vulnerable to meltdown".

          – R..
          Jul 16 '18 at 0:30




          2




          2





          @R.. is your CPU included in the in-order tables in the kernel? (Look for “cpu_no_speculation” here to see the latest tables.) That is indeed one of the problems with the “bugs” entry wrt. Meltdown, Spectre and co., its accuracy really depends on how recent your kernel is since their “detection” is table-driven.

          – Stephen Kitt
          Jul 16 '18 at 8:45







          @R.. is your CPU included in the in-order tables in the kernel? (Look for “cpu_no_speculation” here to see the latest tables.) That is indeed one of the problems with the “bugs” entry wrt. Meltdown, Spectre and co., its accuracy really depends on how recent your kernel is since their “detection” is table-driven.

          – Stephen Kitt
          Jul 16 '18 at 8:45















          No, it's a Centerton Bonnell and it's missing from there. I'll see about submitting a patch.

          – R..
          Jul 16 '18 at 15:18







          No, it's a Centerton Bonnell and it's missing from there. I'll see about submitting a patch.

          – R..
          Jul 16 '18 at 15:18















          11














          The Meltdown/Spectre vulnerabilities are on the CPU chipset design/architecture, and short of buying new future hardware, the patches are a nice illusion of security over the long term. New methods of exploiting the flaws might surface over time that are able to bypass the current patches.



          In short, the current software patches/microcode mitigate the problems against known methods of Spectre/Meltdown family of exploits, but do not solve the underlying CPU design problems that allow them in the first place. The affected (several generations) of CPUs have not stopped being vulnerable in the long run (and most probably never will).



          However, as @Gilles correctly states, having that warning does not mean the current known exploits Spectre/Meltdown methods will work; they won't work if the patches are installed.



          In the case mentioned in the question, the kernel is only checking for the CPU models known to be affected by Spectre/Meltdown (all x86 CPUs for now if we are talking only about x86), and hence the cpu-insecure still being listed in the bug section/line in /proc/cpuinfo.




          Go check your /proc/cpuinfo. It will contain cpu_insecure if your
          kernel has the KPTI patch



          I've found that the KPTI patch has this piece of code:



             /* Assume for now that ALL x86 CPUs are insecure */
          setup_force_cpu_bug(X86_BUG_CPU_INSECURE);


          And after the kernel update, you get:



          bugs      : cpu_insecure



          PS. There was already a round of updates for a new method for exploiting the Spectre/Meltdown "bugs". It probably won't be the last time.






          share|improve this answer





















          • 2





            e.g. If you can hold off buying hw for a while, wait for a new generation of CPUs. My crystal ball tell me we will have a lot of 2nd hand servers selling for peanuts in the medium term.

            – Rui F Ribeiro
            Jul 15 '18 at 13:32











          • CPU bugs are listed in /proc/cpuinfo even if they are fully mitigated by a software patch. Their presence does not mean that your system is vulnerable to that particular bug.

            – Gilles
            Jul 15 '18 at 17:15











          • @Gilles granted, you wont be able to apply known exploits. However we had already already a round of exploits going around the 1st generation of patches, and I would venture to say there a lot of commercial interests out there silencing the critics of this being a fundamental design flaw that will force a major CPU redesign.

            – Rui F Ribeiro
            Jul 15 '18 at 17:25






          • 1





            That's true of Spectre/Meltdown-type exploits, they're fundamental design issues that will keep on giving. But you wrote that this is true of the bugs line shows, and this is just wrong. Most CPU design bugs have a full software workaround that only costs a little performance. If the kernel applies the workaround, then the bug is harmless.

            – Gilles
            Jul 15 '18 at 17:53






          • 1





            @Rui oh I think I didn’t express myself clearly enough — I meant that the article didn’t answer the question that its own title asked, not that it didn’t answer this question ;-). (As in, the article’s title is “How the industry-breaking Spectre bug stayed secret for seven months”, but the article doesn’t explain how IMO.)

            – Stephen Kitt
            Jul 16 '18 at 11:34
















          11














          The Meltdown/Spectre vulnerabilities are on the CPU chipset design/architecture, and short of buying new future hardware, the patches are a nice illusion of security over the long term. New methods of exploiting the flaws might surface over time that are able to bypass the current patches.



          In short, the current software patches/microcode mitigate the problems against known methods of Spectre/Meltdown family of exploits, but do not solve the underlying CPU design problems that allow them in the first place. The affected (several generations) of CPUs have not stopped being vulnerable in the long run (and most probably never will).



          However, as @Gilles correctly states, having that warning does not mean the current known exploits Spectre/Meltdown methods will work; they won't work if the patches are installed.



          In the case mentioned in the question, the kernel is only checking for the CPU models known to be affected by Spectre/Meltdown (all x86 CPUs for now if we are talking only about x86), and hence the cpu-insecure still being listed in the bug section/line in /proc/cpuinfo.




          Go check your /proc/cpuinfo. It will contain cpu_insecure if your
          kernel has the KPTI patch



          I've found that the KPTI patch has this piece of code:



             /* Assume for now that ALL x86 CPUs are insecure */
          setup_force_cpu_bug(X86_BUG_CPU_INSECURE);


          And after the kernel update, you get:



          bugs      : cpu_insecure



          PS. There was already a round of updates for a new method for exploiting the Spectre/Meltdown "bugs". It probably won't be the last time.






          share|improve this answer





















          • 2





            e.g. If you can hold off buying hw for a while, wait for a new generation of CPUs. My crystal ball tell me we will have a lot of 2nd hand servers selling for peanuts in the medium term.

            – Rui F Ribeiro
            Jul 15 '18 at 13:32











          • CPU bugs are listed in /proc/cpuinfo even if they are fully mitigated by a software patch. Their presence does not mean that your system is vulnerable to that particular bug.

            – Gilles
            Jul 15 '18 at 17:15











          • @Gilles granted, you wont be able to apply known exploits. However we had already already a round of exploits going around the 1st generation of patches, and I would venture to say there a lot of commercial interests out there silencing the critics of this being a fundamental design flaw that will force a major CPU redesign.

            – Rui F Ribeiro
            Jul 15 '18 at 17:25






          • 1





            That's true of Spectre/Meltdown-type exploits, they're fundamental design issues that will keep on giving. But you wrote that this is true of the bugs line shows, and this is just wrong. Most CPU design bugs have a full software workaround that only costs a little performance. If the kernel applies the workaround, then the bug is harmless.

            – Gilles
            Jul 15 '18 at 17:53






          • 1





            @Rui oh I think I didn’t express myself clearly enough — I meant that the article didn’t answer the question that its own title asked, not that it didn’t answer this question ;-). (As in, the article’s title is “How the industry-breaking Spectre bug stayed secret for seven months”, but the article doesn’t explain how IMO.)

            – Stephen Kitt
            Jul 16 '18 at 11:34














          11












          11








          11







          The Meltdown/Spectre vulnerabilities are on the CPU chipset design/architecture, and short of buying new future hardware, the patches are a nice illusion of security over the long term. New methods of exploiting the flaws might surface over time that are able to bypass the current patches.



          In short, the current software patches/microcode mitigate the problems against known methods of Spectre/Meltdown family of exploits, but do not solve the underlying CPU design problems that allow them in the first place. The affected (several generations) of CPUs have not stopped being vulnerable in the long run (and most probably never will).



          However, as @Gilles correctly states, having that warning does not mean the current known exploits Spectre/Meltdown methods will work; they won't work if the patches are installed.



          In the case mentioned in the question, the kernel is only checking for the CPU models known to be affected by Spectre/Meltdown (all x86 CPUs for now if we are talking only about x86), and hence the cpu-insecure still being listed in the bug section/line in /proc/cpuinfo.




          Go check your /proc/cpuinfo. It will contain cpu_insecure if your
          kernel has the KPTI patch



          I've found that the KPTI patch has this piece of code:



             /* Assume for now that ALL x86 CPUs are insecure */
          setup_force_cpu_bug(X86_BUG_CPU_INSECURE);


          And after the kernel update, you get:



          bugs      : cpu_insecure



          PS. There was already a round of updates for a new method for exploiting the Spectre/Meltdown "bugs". It probably won't be the last time.






          share|improve this answer















          The Meltdown/Spectre vulnerabilities are on the CPU chipset design/architecture, and short of buying new future hardware, the patches are a nice illusion of security over the long term. New methods of exploiting the flaws might surface over time that are able to bypass the current patches.



          In short, the current software patches/microcode mitigate the problems against known methods of Spectre/Meltdown family of exploits, but do not solve the underlying CPU design problems that allow them in the first place. The affected (several generations) of CPUs have not stopped being vulnerable in the long run (and most probably never will).



          However, as @Gilles correctly states, having that warning does not mean the current known exploits Spectre/Meltdown methods will work; they won't work if the patches are installed.



          In the case mentioned in the question, the kernel is only checking for the CPU models known to be affected by Spectre/Meltdown (all x86 CPUs for now if we are talking only about x86), and hence the cpu-insecure still being listed in the bug section/line in /proc/cpuinfo.




          Go check your /proc/cpuinfo. It will contain cpu_insecure if your
          kernel has the KPTI patch



          I've found that the KPTI patch has this piece of code:



             /* Assume for now that ALL x86 CPUs are insecure */
          setup_force_cpu_bug(X86_BUG_CPU_INSECURE);


          And after the kernel update, you get:



          bugs      : cpu_insecure



          PS. There was already a round of updates for a new method for exploiting the Spectre/Meltdown "bugs". It probably won't be the last time.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Jul 22 '18 at 13:44









          Jeff Schaller

          45.3k1164147




          45.3k1164147










          answered Jul 15 '18 at 13:15









          Rui F RibeiroRui F Ribeiro

          42.3k1485143




          42.3k1485143








          • 2





            e.g. If you can hold off buying hw for a while, wait for a new generation of CPUs. My crystal ball tell me we will have a lot of 2nd hand servers selling for peanuts in the medium term.

            – Rui F Ribeiro
            Jul 15 '18 at 13:32











          • CPU bugs are listed in /proc/cpuinfo even if they are fully mitigated by a software patch. Their presence does not mean that your system is vulnerable to that particular bug.

            – Gilles
            Jul 15 '18 at 17:15











          • @Gilles granted, you wont be able to apply known exploits. However we had already already a round of exploits going around the 1st generation of patches, and I would venture to say there a lot of commercial interests out there silencing the critics of this being a fundamental design flaw that will force a major CPU redesign.

            – Rui F Ribeiro
            Jul 15 '18 at 17:25






          • 1





            That's true of Spectre/Meltdown-type exploits, they're fundamental design issues that will keep on giving. But you wrote that this is true of the bugs line shows, and this is just wrong. Most CPU design bugs have a full software workaround that only costs a little performance. If the kernel applies the workaround, then the bug is harmless.

            – Gilles
            Jul 15 '18 at 17:53






          • 1





            @Rui oh I think I didn’t express myself clearly enough — I meant that the article didn’t answer the question that its own title asked, not that it didn’t answer this question ;-). (As in, the article’s title is “How the industry-breaking Spectre bug stayed secret for seven months”, but the article doesn’t explain how IMO.)

            – Stephen Kitt
            Jul 16 '18 at 11:34














          • 2





            e.g. If you can hold off buying hw for a while, wait for a new generation of CPUs. My crystal ball tell me we will have a lot of 2nd hand servers selling for peanuts in the medium term.

            – Rui F Ribeiro
            Jul 15 '18 at 13:32











          • CPU bugs are listed in /proc/cpuinfo even if they are fully mitigated by a software patch. Their presence does not mean that your system is vulnerable to that particular bug.

            – Gilles
            Jul 15 '18 at 17:15











          • @Gilles granted, you wont be able to apply known exploits. However we had already already a round of exploits going around the 1st generation of patches, and I would venture to say there a lot of commercial interests out there silencing the critics of this being a fundamental design flaw that will force a major CPU redesign.

            – Rui F Ribeiro
            Jul 15 '18 at 17:25






          • 1





            That's true of Spectre/Meltdown-type exploits, they're fundamental design issues that will keep on giving. But you wrote that this is true of the bugs line shows, and this is just wrong. Most CPU design bugs have a full software workaround that only costs a little performance. If the kernel applies the workaround, then the bug is harmless.

            – Gilles
            Jul 15 '18 at 17:53






          • 1





            @Rui oh I think I didn’t express myself clearly enough — I meant that the article didn’t answer the question that its own title asked, not that it didn’t answer this question ;-). (As in, the article’s title is “How the industry-breaking Spectre bug stayed secret for seven months”, but the article doesn’t explain how IMO.)

            – Stephen Kitt
            Jul 16 '18 at 11:34








          2




          2





          e.g. If you can hold off buying hw for a while, wait for a new generation of CPUs. My crystal ball tell me we will have a lot of 2nd hand servers selling for peanuts in the medium term.

          – Rui F Ribeiro
          Jul 15 '18 at 13:32





          e.g. If you can hold off buying hw for a while, wait for a new generation of CPUs. My crystal ball tell me we will have a lot of 2nd hand servers selling for peanuts in the medium term.

          – Rui F Ribeiro
          Jul 15 '18 at 13:32













          CPU bugs are listed in /proc/cpuinfo even if they are fully mitigated by a software patch. Their presence does not mean that your system is vulnerable to that particular bug.

          – Gilles
          Jul 15 '18 at 17:15





          CPU bugs are listed in /proc/cpuinfo even if they are fully mitigated by a software patch. Their presence does not mean that your system is vulnerable to that particular bug.

          – Gilles
          Jul 15 '18 at 17:15













          @Gilles granted, you wont be able to apply known exploits. However we had already already a round of exploits going around the 1st generation of patches, and I would venture to say there a lot of commercial interests out there silencing the critics of this being a fundamental design flaw that will force a major CPU redesign.

          – Rui F Ribeiro
          Jul 15 '18 at 17:25





          @Gilles granted, you wont be able to apply known exploits. However we had already already a round of exploits going around the 1st generation of patches, and I would venture to say there a lot of commercial interests out there silencing the critics of this being a fundamental design flaw that will force a major CPU redesign.

          – Rui F Ribeiro
          Jul 15 '18 at 17:25




          1




          1





          That's true of Spectre/Meltdown-type exploits, they're fundamental design issues that will keep on giving. But you wrote that this is true of the bugs line shows, and this is just wrong. Most CPU design bugs have a full software workaround that only costs a little performance. If the kernel applies the workaround, then the bug is harmless.

          – Gilles
          Jul 15 '18 at 17:53





          That's true of Spectre/Meltdown-type exploits, they're fundamental design issues that will keep on giving. But you wrote that this is true of the bugs line shows, and this is just wrong. Most CPU design bugs have a full software workaround that only costs a little performance. If the kernel applies the workaround, then the bug is harmless.

          – Gilles
          Jul 15 '18 at 17:53




          1




          1





          @Rui oh I think I didn’t express myself clearly enough — I meant that the article didn’t answer the question that its own title asked, not that it didn’t answer this question ;-). (As in, the article’s title is “How the industry-breaking Spectre bug stayed secret for seven months”, but the article doesn’t explain how IMO.)

          – Stephen Kitt
          Jul 16 '18 at 11:34





          @Rui oh I think I didn’t express myself clearly enough — I meant that the article didn’t answer the question that its own title asked, not that it didn’t answer this question ;-). (As in, the article’s title is “How the industry-breaking Spectre bug stayed secret for seven months”, but the article doesn’t explain how IMO.)

          – Stephen Kitt
          Jul 16 '18 at 11:34


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f456425%2fwhat-does-the-bugs-section-of-proc-cpuinfo-actually-show%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Hudson River Historic District Contents Geography History The district today Aesthetics Cultural...

          The number designs the writing. Feandra Aversely Definition: The act of ingrafting a sprig or shoot of one...

          Ayherre Geografie Demografie Externe links Navigatiemenu43° 23′ NB, 1° 15′ WL43° 23′ NB, 1°...