svn commit: r347566 - in head/sys: amd64/amd64 amd64/include dev/cpuctl i386/i386 i386/include x86/include x86/x86

Konstantin Belousov kib at freebsd.org
Wed May 15 08:10:36 UTC 2019


On Wed, May 15, 2019 at 08:54:04AM +0300, Dmitry Chagin wrote:
> вт, 14 мая 2019 г. в 20:02, Konstantin Belousov <kib at freebsd.org>:
> 
> > Author: kib
> > Date: Tue May 14 17:02:20 2019
> > New Revision: 347566
> > URL: https://svnweb.freebsd.org/changeset/base/347566
> >
> > Log:
> >   Mitigations for Microarchitectural Data Sampling.
> >
> >   Microarchitectural buffers on some Intel processors utilizing
> >   speculative execution may allow a local process to obtain a memory
> >   disclosure.  An attacker may be able to read secret data from the
> >   kernel or from a process when executing untrusted code (for example,
> >   in a web browser).
> >
> >   Reference:
> > https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00233.html
> >   Security:     CVE-2018-12126, CVE-2018-12127, CVE-2018-12130,
> > CVE-2019-11091
> >   Security:     FreeBSD-SA-19:07.mds
> >   Reviewed by:  jhb
> >   Tested by:    emaste, lwhsu
> >   Approved by:  so (gtetlow)
> >
> > Modified:
> >   head/sys/amd64/amd64/exception.S
> >   head/sys/amd64/amd64/genassym.c
> >   head/sys/amd64/amd64/initcpu.c
> >   head/sys/amd64/amd64/machdep.c
> >   head/sys/amd64/amd64/support.S
> >
> 
> 
> 
> Hi, Kostik!
> 
> cc -target x86_64-unknown-freebsd13.0
> --sysroot=/home/dchagin/obj/home/dchagin/head/amd64.amd64/tmp
> -B/home/dchagin/obj/home/dchagin/head/amd64.amd64/tmp/usr/bin -c -x
> assembler-with-cpp -DLOCORE -O2 -pipe -fno-strict-aliasing  -g -nostdinc
> -I. -I/home/dchagin/head/sys -I/home/dchagin/head/sys/contrib/ck/include
> -I/home/dchagin/head/sys/contrib/libfdt -D_KERNEL
> -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h
> -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -MD
> -MF.depend.support.o -MTsupport.o
> -fdebug-prefix-map=./machine=/home/dchagin/head/sys/amd64/include
> -fdebug-prefix-map=./x86=/home/dchagin/head/sys/x86/include -mcmodel=kernel
> -mno-red-zone -mno-mmx -mno-sse -msoft-float
> -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector
> -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign
> -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs
> -fdiagnostics-show-option -Wno-unknown-pragmas
> -Wno-error-tautological-compare -Wno-error-empty-body
> -Wno-error-parentheses-equality -Wno-error-unused-function
> -Wno-error-pointer-sign -Wno-error-shift-negative-value
> -Wno-address-of-packed-member  -mno-aes -mno-avx  -std=iso9899:1999
> -Werror /home/dchagin/head/sys/amd64/amd64/support.S
> /home/dchagin/head/sys/amd64/amd64/support.S:1809:2: error: instruction
> requires: AVX-512 ISA
>  vmovdqa64 %zmm0, %gs:0x340
>  ^
> /home/dchagin/head/sys/amd64/amd64/support.S:1810:2: error: instruction
> requires: AVX-512 ISA
>  vpxor %zmm0, %zmm0, %zmm0
>  ^
> /home/dchagin/head/sys/amd64/amd64/support.S:1813:2: error: instruction
> requires: AVX-512 DQ ISA
>  vorpd (%rdx), %zmm0, %zmm0
>  ^
> /home/dchagin/head/sys/amd64/amd64/support.S:1814:2: error: instruction
> requires: AVX-512 DQ ISA
>  vorpd (%rdx), %zmm0, %zmm0
>  ^
> /home/dchagin/head/sys/amd64/amd64/support.S:1826:2: error: instruction
> requires: AVX-512 ISA
>  vmovdqa64 %gs:0x340, %zmm0
>  ^
> *** Error code 1
> 
> 
> I/m missied something?
Yes, you are using older compiler than current.  Perhaps you are using
clang 6.0 still.  Update your world.

FWIW, this is is reason why the sw sequences use .byte in 11.2/12.0
patches. I do not want to put such abomination into live code base,
remembering aesni.ko.


More information about the svn-src-all mailing list