<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta name="generator" content= "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org"> <meta http-equiv="Content-Type" content= "text/html; charset=us-ascii"> <title>Chapter 24. NVIDIA Spectre V2 Mitigation</title> <meta name="generator" content="DocBook XSL Stylesheets V1.68.1"> <link rel="start" href="index.html" title= "NVIDIA Accelerated Linux Graphics Driver README and Installation Guide"> <link rel="up" href="installationandconfiguration.html" title= "Part I. Installation and Configuration Instructions"> <link rel="prev" href="nvidiasettings.html" title= "Chapter 23. Using the nvidia-settings Utility"> <link rel="next" href="nvidia-smi.html" title= "Chapter 25. Using the nvidia-smi Utility"> </head> <body> <div class="navheader"> <table width="100%" summary="Navigation header"> <tr> <th colspan="3" align="center">Chapter 24. NVIDIA Spectre V2 Mitigation</th> </tr> <tr> <td width="20%" align="left"><a accesskey="p" href= "nvidiasettings.html">Prev</a> </td> <th width="60%" align="center">Part I. Installation and Configuration Instructions</th> <td width="20%" align="right"> <a accesskey="n" href= "nvidia-smi.html">Next</a></td> </tr> </table> <hr></div> <div class="chapter" lang="en"> <div class="titlepage"> <div> <div> <h2 class="title"><a name="retpoline" id= "retpoline"></a>Chapter 24. NVIDIA Spectre V2 Mitigation</h2> </div> </div> </div> <p>The NVIDIA Linux driver supports the retpoline Spectre V2 mitigation technique as identified by: <a href= "https://software.intel.com/security-software-guidance/api-app/sites/default/files/Retpoline-A-Branch-Target-Injection-Mitigation.pdf" target= "_top">https://software.intel.com/security-software-guidance/api-app/sites/default/files/Retpoline-A-Branch-Target-Injection-Mitigation.pdf</a></p> <p>For Linux systems that define CONFIG_RETPOLINE, the NVIDIA driver yields to the kernel's implementation of Spectre V2 mitigation. When CONFIG_RETPOLINE is not defined, the NVIDIA Linux driver implements the retpoline thunk without the Spectre V2 mitigation.</p> <p>Linux kernels that implement retpoline based Spectre V2 mitigation provide a kernel boot flag to enable or disable the feature. When enabled, users may notice a performance degradation. In order to recover performance, the user can disable the feature using the <span><strong class="command">spectre_v2</strong></span> boot flag (unsafe).</p> <pre class="screen"> spectre_v2=off </pre> <p>If the Spectre V2 mitigation is necessary, some performance may be recovered by setting the <span><strong class= "command">NVreg_CheckPCIConfigSpace</strong></span> kernel module parameter to 0. This will disable the NVIDIA driver's sanity checks of GPU PCI config space at various entry points, which were originally required to detect and correct config space manipulation done by X server versions prior to 1.7.</p> <pre class="screen"> NVreg_CheckPCIConfigSpace=0 </pre></div> <div class="navfooter"> <hr> <table width="100%" summary="Navigation footer"> <tr> <td width="40%" align="left"><a accesskey="p" href= "nvidiasettings.html">Prev</a> </td> <td width="20%" align="center"><a accesskey="u" href= "installationandconfiguration.html">Up</a></td> <td width="40%" align="right"> <a accesskey="n" href= "nvidia-smi.html">Next</a></td> </tr> <tr> <td width="40%" align="left" valign="top"> Chapter 23. Using the nvidia-settings Utility </td> <td width="20%" align="center"><a accesskey="h" href= "index.html">Home</a></td> <td width="40%" align="right" valign="top"> Chapter 25. Using the nvidia-smi Utility</td> </tr> </table> </div> </body> </html>