Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 May 2019 11:10:27 +0300
From:      Konstantin Belousov <kib@freebsd.org>
To:        Dmitry Chagin <dchagin@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r347566 - in head/sys: amd64/amd64 amd64/include dev/cpuctl i386/i386 i386/include x86/include x86/x86
Message-ID:  <20190515081027.GL2748@kib.kiev.ua>
In-Reply-To: <CAC0jpUCbo8NfOWygS5%2BusAEOAsGcX_jG0pjYzMcCwTUD3BeJSw@mail.gmail.com>
References:  <201905141702.x4EH2LuD061054@repo.freebsd.org> <CAC0jpUCbo8NfOWygS5%2BusAEOAsGcX_jG0pjYzMcCwTUD3BeJSw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 15, 2019 at 08:54:04AM +0300, Dmitry Chagin wrote:
> вт, 14 мая 2019 г. в 20:02, Konstantin Belousov <kib@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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190515081027.GL2748>