WSL2-Linux-Kernel/Documentation/ABI/testing
Daniel Sneddon 348a89e201 x86/speculation: Add Gather Data Sampling mitigation
commit 8974eb5882 upstream

Gather Data Sampling (GDS) is a hardware vulnerability which allows
unprivileged speculative access to data which was previously stored in
vector registers.

Intel processors that support AVX2 and AVX512 have gather instructions
that fetch non-contiguous data elements from memory. On vulnerable
hardware, when a gather instruction is transiently executed and
encounters a fault, stale data from architectural or internal vector
registers may get transiently stored to the destination vector
register allowing an attacker to infer the stale data using typical
side channel techniques like cache timing attacks.

This mitigation is different from many earlier ones for two reasons.
First, it is enabled by default and a bit must be set to *DISABLE* it.
This is the opposite of normal mitigation polarity. This means GDS can
be mitigated simply by updating microcode and leaving the new control
bit alone.

Second, GDS has a "lock" bit. This lock bit is there because the
mitigation affects the hardware security features KeyLocker and SGX.
It needs to be enabled and *STAY* enabled for these features to be
mitigated against GDS.

The mitigation is enabled in the microcode by default. Disable it by
setting gather_data_sampling=off or by disabling all mitigations with
mitigations=off. The mitigation status can be checked by reading:

    /sys/devices/system/cpu/vulnerabilities/gather_data_sampling

Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-08 19:58:32 +02:00
..
configfs-acpi
configfs-iio
configfs-most
configfs-rdma_cm
configfs-spear-pcie-gadget
configfs-stp-policy
configfs-stp-policy-p_sys-t
configfs-usb-gadget
configfs-usb-gadget-acm
configfs-usb-gadget-ecm
configfs-usb-gadget-eem
configfs-usb-gadget-ffs
configfs-usb-gadget-hid
configfs-usb-gadget-loopback
configfs-usb-gadget-mass-storage
configfs-usb-gadget-midi
configfs-usb-gadget-ncm
configfs-usb-gadget-obex
configfs-usb-gadget-phonet
configfs-usb-gadget-printer
configfs-usb-gadget-rndis
configfs-usb-gadget-serial
configfs-usb-gadget-sourcesink
configfs-usb-gadget-subset
configfs-usb-gadget-tcm
configfs-usb-gadget-uac1
configfs-usb-gadget-uac1_legacy
configfs-usb-gadget-uac2
configfs-usb-gadget-uvc usb: gadget: uvc: Make bSourceID read/write 2023-03-11 13:57:37 +01:00
debugfs-cec-error-inj
debugfs-cros-ec
debugfs-driver-genwqe
debugfs-driver-habanalabs
debugfs-ec
debugfs-hisi-hpre
debugfs-hisi-sec
debugfs-hisi-zip
debugfs-hyperv
debugfs-ideapad
debugfs-moxtet
debugfs-olpc
debugfs-pfo-nx-crypto
debugfs-pktcdvd
debugfs-turris-mox-rwtm
debugfs-wilco-ec
dell-smbios-wmi
dev-kmsg
devlink-resource-mlxsw
evm
gpio-cdev
ima_policy
ppc-memtrace
procfs-attr-current
procfs-attr-exec
procfs-attr-prev
procfs-diskstats
procfs-smaps_rollup
pstore
rtc-cdev
sysfs-ata ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files 2022-06-14 18:36:25 +02:00
sysfs-block
sysfs-block-aoe
sysfs-block-bcache
sysfs-block-device
sysfs-block-dm
sysfs-block-loop
sysfs-block-rnbd
sysfs-block-rssd
sysfs-block-zram
sysfs-bus-acpi
sysfs-bus-amba
sysfs-bus-bcma
sysfs-bus-coresight-devices-cti
sysfs-bus-coresight-devices-etb10
sysfs-bus-coresight-devices-etm3x
sysfs-bus-coresight-devices-etm4x
sysfs-bus-coresight-devices-funnel
sysfs-bus-coresight-devices-stm
sysfs-bus-coresight-devices-tmc
sysfs-bus-coresight-devices-trbe
sysfs-bus-counter
sysfs-bus-css
sysfs-bus-cxl
sysfs-bus-dfl
sysfs-bus-dfl-devices-emif
sysfs-bus-dfl-devices-n3000-nios
sysfs-bus-event_source-devices-dfl_fme
sysfs-bus-event_source-devices-dsa
sysfs-bus-event_source-devices-events
sysfs-bus-event_source-devices-format
sysfs-bus-event_source-devices-hv_24x7
sysfs-bus-event_source-devices-hv_gpci
sysfs-bus-event_source-devices-uncore
sysfs-bus-fcoe
sysfs-bus-fsi
sysfs-bus-fsl-mc
sysfs-bus-hsi
sysfs-bus-i2c-devices-bq32k
sysfs-bus-i2c-devices-fsa9480
sysfs-bus-i2c-devices-hm6352
sysfs-bus-i2c-devices-lm3533
sysfs-bus-i2c-devices-pca954x
sysfs-bus-i3c
sysfs-bus-iio iio: ABI: Fix wrong format of differential capacitance channel ABI. 2022-10-26 12:35:02 +02:00
sysfs-bus-iio-accel-adxl372
sysfs-bus-iio-accel-bmc150
sysfs-bus-iio-adc-ad7192
sysfs-bus-iio-adc-envelope-detector
sysfs-bus-iio-adc-hi8435
sysfs-bus-iio-adc-max9611
sysfs-bus-iio-adc-mt6360
sysfs-bus-iio-adc-stm32
sysfs-bus-iio-chemical-sgp40
sysfs-bus-iio-chemical-vz89x
sysfs-bus-iio-cros-ec
sysfs-bus-iio-dac-ad5766
sysfs-bus-iio-dac-dpot-dac
sysfs-bus-iio-dfsdm-adc-stm32
sysfs-bus-iio-distance-srf08
sysfs-bus-iio-dma-buffer
sysfs-bus-iio-frequency-ad9523
sysfs-bus-iio-frequency-adf4350
sysfs-bus-iio-frequency-adf4371
sysfs-bus-iio-gyro-bmg160
sysfs-bus-iio-health-afe440x
sysfs-bus-iio-humidity
sysfs-bus-iio-impedance-analyzer-ad5933
sysfs-bus-iio-ina2xx-adc
sysfs-bus-iio-isl29501
sysfs-bus-iio-light-isl29018
sysfs-bus-iio-light-lm3533-als
sysfs-bus-iio-light-si1133
sysfs-bus-iio-light-tsl2583
sysfs-bus-iio-light-tsl2772
sysfs-bus-iio-magnetometer-hmc5843
sysfs-bus-iio-meas-spec
sysfs-bus-iio-mpu6050
sysfs-bus-iio-potentiometer-mcp4531
sysfs-bus-iio-proximity
sysfs-bus-iio-proximity-as3935
sysfs-bus-iio-scd30
sysfs-bus-iio-sps30
sysfs-bus-iio-sx9310
sysfs-bus-iio-temperature-max31856
sysfs-bus-iio-timer-stm32
sysfs-bus-iio-trigger-sysfs
sysfs-bus-iio-vf610 iio: adc: vf610: fix conversion mode sysfs node name 2022-06-29 09:03:26 +02:00
sysfs-bus-intel_th-devices-gth
sysfs-bus-intel_th-devices-msc
sysfs-bus-intel_th-devices-pti
sysfs-bus-intel_th-output-devices
sysfs-bus-mcb
sysfs-bus-mdio
sysfs-bus-media
sysfs-bus-mei
sysfs-bus-mmc
sysfs-bus-most
sysfs-bus-moxtet-devices
sysfs-bus-nfit
sysfs-bus-nvdimm
sysfs-bus-optee-devices
sysfs-bus-papr-pmem
sysfs-bus-pci
sysfs-bus-pci-devices-aer_stats
sysfs-bus-pci-devices-catpt
sysfs-bus-pci-devices-cciss
sysfs-bus-pci-devices-pvpanic
sysfs-bus-pci-drivers-ehci_hcd
sysfs-bus-pci-drivers-janz-cmodio
sysfs-bus-pci-drivers-xhci_hcd
sysfs-bus-platform
sysfs-bus-rapidio
sysfs-bus-rbd
sysfs-bus-rpmsg
sysfs-bus-siox
sysfs-bus-soundwire-master
sysfs-bus-soundwire-slave
sysfs-bus-spi-devices-spi-nor mtd: spi-nor: hide jedec_id sysfs attribute if not present 2022-12-31 13:14:11 +01:00
sysfs-bus-thunderbolt
sysfs-bus-typec
sysfs-bus-umc
sysfs-bus-usb
sysfs-bus-usb-devices-usbsevseg
sysfs-bus-usb-lvstest
sysfs-bus-vfio-mdev
sysfs-bus-vmbus
sysfs-c2port
sysfs-cfq-target-latency
sysfs-class
sysfs-class-backlight
sysfs-class-backlight-driver-lm3533
sysfs-class-backlight-lm3639
sysfs-class-bdi
sysfs-class-bsr
sysfs-class-chromeos
sysfs-class-chromeos-driver-cros-ec-lightbar
sysfs-class-chromeos-driver-cros-ec-vbc
sysfs-class-cxl
sysfs-class-devfreq
sysfs-class-devfreq-event
sysfs-class-devlink
sysfs-class-extcon
sysfs-class-fc_host
sysfs-class-fc_remote_ports
sysfs-class-firmware-attributes
sysfs-class-fpga-bridge
sysfs-class-fpga-manager
sysfs-class-fpga-region
sysfs-class-gnss
sysfs-class-intel_pmt
sysfs-class-iommu
sysfs-class-iommu-amd-iommu
sysfs-class-iommu-intel-iommu
sysfs-class-lcd
sysfs-class-led
sysfs-class-led-driver-lm3533
sysfs-class-led-driver-turris-omnia
sysfs-class-led-flash
sysfs-class-led-multicolor
sysfs-class-led-trigger-netdev
sysfs-class-led-trigger-oneshot
sysfs-class-led-trigger-pattern
sysfs-class-led-trigger-tty
sysfs-class-led-trigger-usbport
sysfs-class-leds-gt683r
sysfs-class-mei
sysfs-class-mic
sysfs-class-mtd
sysfs-class-mux
sysfs-class-net
sysfs-class-net-cdc_ncm
sysfs-class-net-dsa
sysfs-class-net-grcan
sysfs-class-net-janz-ican3
sysfs-class-net-phydev
sysfs-class-net-qmi
sysfs-class-net-queues
sysfs-class-net-statistics
sysfs-class-ocxl
sysfs-class-pktcdvd
sysfs-class-power
sysfs-class-power-ltc4162l
sysfs-class-power-mp2629
sysfs-class-power-surface
sysfs-class-power-twl4030
sysfs-class-power-wilco
sysfs-class-powercap
sysfs-class-pwm
sysfs-class-rapidio
sysfs-class-rc
sysfs-class-rc-nuvoton
sysfs-class-regulator
sysfs-class-remoteproc
sysfs-class-rnbd-client
sysfs-class-rnbd-server
sysfs-class-rtc
sysfs-class-rtc-rtc0-device-rtc_calibration
sysfs-class-rtrs-client
sysfs-class-rtrs-server
sysfs-class-scsi_host
sysfs-class-scsi_tape
sysfs-class-spi-eeprom
sysfs-class-stm
sysfs-class-stm_source
sysfs-class-switchtec
sysfs-class-typec
sysfs-class-usb_role
sysfs-class-uwb_rc
sysfs-class-uwb_rc-wusbhc
sysfs-class-wakeup
sysfs-class-watchdog
sysfs-class-zram
sysfs-dev
sysfs-devices
sysfs-devices-consumer
sysfs-devices-coredump
sysfs-devices-edac
sysfs-devices-firmware_node
sysfs-devices-lpss_ltr
sysfs-devices-mapping
sysfs-devices-memory
sysfs-devices-mmc
sysfs-devices-online
sysfs-devices-platform-ACPI-TAD
sysfs-devices-platform-_UDC_-gadget
sysfs-devices-platform-docg3
sysfs-devices-platform-dock
sysfs-devices-platform-ipmi
sysfs-devices-platform-sh_mobile_lcdc_fb
sysfs-devices-platform-soc-ipa
sysfs-devices-platform-stratix10-rsu
sysfs-devices-platform-trackpoint
sysfs-devices-power
sysfs-devices-power_resources_D0
sysfs-devices-power_resources_D1
sysfs-devices-power_resources_D2
sysfs-devices-power_resources_D3hot
sysfs-devices-power_resources_wakeup
sysfs-devices-power_state
sysfs-devices-real_power_state
sysfs-devices-removable
sysfs-devices-resource_in_use
sysfs-devices-soc
sysfs-devices-software_node
sysfs-devices-state_synced
sysfs-devices-sun
sysfs-devices-supplier
sysfs-devices-system-cpu x86/speculation: Add Gather Data Sampling mitigation 2023-08-08 19:58:32 +02:00
sysfs-devices-system-ibm-rtl
sysfs-devices-system-xen_cpu
sysfs-devices-waiting_for_supplier
sysfs-devices-xenbus
sysfs-driver-altera-cvp
sysfs-driver-bd9571mwv-regulator
sysfs-driver-fsi-master-gpio
sysfs-driver-ge-achc
sysfs-driver-genwqe
sysfs-driver-habanalabs
sysfs-driver-hid
sysfs-driver-hid-corsair
sysfs-driver-hid-lenovo
sysfs-driver-hid-logitech-hidpp
sysfs-driver-hid-logitech-lg4ff
sysfs-driver-hid-multitouch
sysfs-driver-hid-ntrig
sysfs-driver-hid-picolcd
sysfs-driver-hid-prodikeys
sysfs-driver-hid-roccat-kone
sysfs-driver-hid-srws1
sysfs-driver-hid-wiimote
sysfs-driver-input-axp-pek
sysfs-driver-input-cros-ec-keyb
sysfs-driver-input-exc3000
sysfs-driver-intc_sar
sysfs-driver-intel-m10-bmc
sysfs-driver-intel-rapid-start
sysfs-driver-jz4780-efuse
sysfs-driver-pciback
sysfs-driver-ppi
sysfs-driver-samsung-laptop
sysfs-driver-st
sysfs-driver-tegra-fuse
sysfs-driver-toshiba_acpi
sysfs-driver-toshiba_haps
sysfs-driver-typec-displayport
sysfs-driver-uacce
sysfs-driver-ucsi-ccg
sysfs-driver-ufs
sysfs-driver-w1_ds28e17
sysfs-driver-w1_therm
sysfs-driver-wacom
sysfs-driver-xdata
sysfs-driver-xen-blkback xen-blkback: Apply 'feature_persistent' parameter when connect 2022-08-17 14:24:28 +02:00
sysfs-driver-xen-blkfront xen-blkfront: Apply 'feature_persistent' parameter when connect 2022-08-17 14:24:28 +02:00
sysfs-firmware-acpi
sysfs-firmware-dmi-entries
sysfs-firmware-dmi-tables
sysfs-firmware-efi
sysfs-firmware-efi-esrt
sysfs-firmware-efi-runtime-map
sysfs-firmware-gsmi
sysfs-firmware-lefi-boardinfo
sysfs-firmware-log
sysfs-firmware-memmap
sysfs-firmware-ofw
sysfs-firmware-opal-powercap
sysfs-firmware-opal-psr
sysfs-firmware-opal-sensor-groups
sysfs-firmware-qemu_fw_cfg
sysfs-firmware-sgi_uv
sysfs-firmware-turris-mox-rwtm
sysfs-fs-ext4
sysfs-fs-f2fs f2fs: don't get FREEZE lock in f2fs_evict_inode in frozen fs 2022-04-08 14:23:58 +02:00
sysfs-fs-nilfs2
sysfs-fs-xfs
sysfs-hypervisor-xen
sysfs-ibft
sysfs-kernel-boot_params
sysfs-kernel-btf
sysfs-kernel-dmabuf-buffers
sysfs-kernel-fadump
sysfs-kernel-fscaps
sysfs-kernel-iommu_groups
sysfs-kernel-irq
sysfs-kernel-livepatch
sysfs-kernel-mm
sysfs-kernel-mm-cma
sysfs-kernel-mm-hugepages
sysfs-kernel-mm-ksm
sysfs-kernel-mm-numa mm/migrate: add sysfs interface to enable reclaim migration 2021-09-03 09:58:16 -07:00
sysfs-kernel-mm-swap
sysfs-kernel-oops_count exit: Expose "oops_count" to sysfs 2023-02-01 08:27:21 +01:00
sysfs-kernel-reboot
sysfs-kernel-slab
sysfs-kernel-vmcoreinfo
sysfs-kernel-warn_count docs: Fix path paste-o for /sys/kernel/warn_count 2023-02-01 08:27:22 +01:00
sysfs-memory-page-offline
sysfs-module
sysfs-ocfs2
sysfs-platform-asus-laptop
sysfs-platform-asus-wmi
sysfs-platform-at91
sysfs-platform-brcmstb-gisb-arb
sysfs-platform-chipidea-usb-otg
sysfs-platform-chipidea-usb2
sysfs-platform-dell-laptop
sysfs-platform-dell-privacy-wmi
sysfs-platform-dell-smbios
sysfs-platform-dfl-fme
sysfs-platform-dfl-port
sysfs-platform-dptf
sysfs-platform-eeepc-laptop
sysfs-platform-hidma
sysfs-platform-hidma-mgmt
sysfs-platform-i2c-demux-pinctrl
sysfs-platform-ideapad-laptop
sysfs-platform-intel-pmc
sysfs-platform-intel-wmi-sbl-fw-update
sysfs-platform-intel-wmi-thunderbolt
sysfs-platform-kim
sysfs-platform-lg-laptop
sysfs-platform-mellanox-bootctl
sysfs-platform-msi-laptop
sysfs-platform-phy-rcar-gen3-usb2
sysfs-platform-renesas_usb3
sysfs-platform-sst-atom
sysfs-platform-tahvo-usb
sysfs-platform-ts5500
sysfs-platform-twl4030-usb
sysfs-platform-usbip-vudc
sysfs-platform-wilco-ec
sysfs-platform_profile
sysfs-power
sysfs-pps
sysfs-profiling
sysfs-ptp
sysfs-secvar
sysfs-tty
sysfs-uevent
sysfs-wusb_cbaf
usb-charger-uevent
usb-uevent