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

Konstantin Belousov kostikbel at gmail.com
Wed May 15 18:15:34 UTC 2019


On Wed, May 15, 2019 at 08:31:23PM +0300, Dmitry Chagin wrote:
> ср, 15 мая 2019 г. в 11:10, Konstantin Belousov <kib at freebsd.org>:
> 
> > 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.
> >
> 
> yes, you are right. thank you! but in the best tradition of the project,
> the system does not built,
> I got ar error when building static llvm library:
> ar: fatal: Symbol table offset overflow
> *** Error code 70
> 
> Stop.
> make[6]: stopped in /home/dchagin/head/lib/clang/libllvm
> *** Error code 1
Perhaps try to manually compile usr.bin/ar from the new source and install
it before doing buildworld.


More information about the svn-src-all mailing list