[PATCH 0/2] x86: Add assembler mitigation for CVE-2020-0551

H.J. Lu hjl.tools@gmail.com
Tue Mar 10 16:05:26 GMT 2020


Add 3 command-line options to generate lfence for load, indirect near
branch and ret to help mitigate:

https://nvd.nist.gov/vuln/detail/CVE-2020-0551

H.J. Lu (2):
  i386: Generate lfence with load/indirect branch/ret [CVE-2020-0551]
  i386: Add tests for lfence with load/indirect branch/ret

 gas/ChangeLog                                 |  57 +++
 gas/config/tc-i386.c                          | 368 +++++++++++++++++-
 gas/doc/c-i386.texi                           |  43 ++
 gas/testsuite/gas/i386/i386.exp               |  14 +
 gas/testsuite/gas/i386/lfence-byte.d          |  30 ++
 gas/testsuite/gas/i386/lfence-byte.e          |  12 +
 gas/testsuite/gas/i386/lfence-byte.s          |  23 ++
 gas/testsuite/gas/i386/lfence-indbr-a.d       |  21 +
 gas/testsuite/gas/i386/lfence-indbr-b.d       |  20 +
 gas/testsuite/gas/i386/lfence-indbr-c.d       |  19 +
 gas/testsuite/gas/i386/lfence-indbr.e         |   5 +
 gas/testsuite/gas/i386/lfence-indbr.s         |   8 +
 gas/testsuite/gas/i386/lfence-load.d          | 112 ++++++
 gas/testsuite/gas/i386/lfence-load.s          |  60 +++
 gas/testsuite/gas/i386/lfence-ret-a.d         |  18 +
 gas/testsuite/gas/i386/lfence-ret-b.d         |  20 +
 gas/testsuite/gas/i386/lfence-ret.s           |   4 +
 gas/testsuite/gas/i386/x86-64-lfence-byte.d   |  30 ++
 gas/testsuite/gas/i386/x86-64-lfence-byte.e   |  12 +
 gas/testsuite/gas/i386/x86-64-lfence-byte.s   |  23 ++
 .../gas/i386/x86-64-lfence-indbr-a.d          |  21 +
 .../gas/i386/x86-64-lfence-indbr-b.d          |  20 +
 .../gas/i386/x86-64-lfence-indbr-c.d          |  19 +
 gas/testsuite/gas/i386/x86-64-lfence-indbr.e  |   5 +
 gas/testsuite/gas/i386/x86-64-lfence-indbr.s  |   8 +
 gas/testsuite/gas/i386/x86-64-lfence-load.d   | 114 ++++++
 gas/testsuite/gas/i386/x86-64-lfence-load.s   |  61 +++
 gas/testsuite/gas/i386/x86-64-lfence-ret-a.d  |  18 +
 gas/testsuite/gas/i386/x86-64-lfence-ret-b.d  |  20 +
 29 files changed, 1184 insertions(+), 1 deletion(-)
 create mode 100644 gas/testsuite/gas/i386/lfence-byte.d
 create mode 100644 gas/testsuite/gas/i386/lfence-byte.e
 create mode 100644 gas/testsuite/gas/i386/lfence-byte.s
 create mode 100644 gas/testsuite/gas/i386/lfence-indbr-a.d
 create mode 100644 gas/testsuite/gas/i386/lfence-indbr-b.d
 create mode 100644 gas/testsuite/gas/i386/lfence-indbr-c.d
 create mode 100644 gas/testsuite/gas/i386/lfence-indbr.e
 create mode 100644 gas/testsuite/gas/i386/lfence-indbr.s
 create mode 100644 gas/testsuite/gas/i386/lfence-load.d
 create mode 100644 gas/testsuite/gas/i386/lfence-load.s
 create mode 100644 gas/testsuite/gas/i386/lfence-ret-a.d
 create mode 100644 gas/testsuite/gas/i386/lfence-ret-b.d
 create mode 100644 gas/testsuite/gas/i386/lfence-ret.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-lfence-byte.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-lfence-byte.e
 create mode 100644 gas/testsuite/gas/i386/x86-64-lfence-byte.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-lfence-indbr-a.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-lfence-indbr-b.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-lfence-indbr-c.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-lfence-indbr.e
 create mode 100644 gas/testsuite/gas/i386/x86-64-lfence-indbr.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-lfence-load.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-lfence-load.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-lfence-ret-a.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-lfence-ret-b.d

-- 
2.24.1




More information about the Binutils mailing list