Vineela Tummalapalli
12ceedb760
x86/bugs: Add ITLB_MULTIHIT bug infrastructure
...
commit db4d30fbb71b47e4ecb11c4efa5d8aad4b03dfae upstream.
Some processors may incur a machine check error possibly resulting in an
unrecoverable CPU lockup when an instruction fetch encounters a TLB
multi-hit in the instruction TLB. This can occur when the page size is
changed along with either the physical address or cache type. The relevant
erratum can be found here:
https://bugzilla.kernel.org/show_bug.cgi?id=205195
There are other processors affected for which the erratum does not fully
disclose the impact.
This issue affects both bare-metal x86 page tables and EPT.
It can be mitigated by either eliminating the use of large pages or by
using careful TLB invalidations when changing the page size in the page
tables.
Just like Spectre, Meltdown, L1TF and MDS, a new bit has been allocated in
MSR_IA32_ARCH_CAPABILITIES (PSCHANGE_MC_NO) and will be set on CPUs which
are mitigated against this issue.
Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
Co-developed-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
[bwh: Backported to 4.9:
- No support for X86_VENDOR_HYGON, ATOM_AIRMONT_NP
- Adjust context, indentation]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-11-16 10:29:54 +01:00
..
accessibility
acpi
ACPI / PCI: fix acpi_pci_irq_enable() memory leak
2019-10-05 12:30:26 +02:00
amba
android
ANDROID: binder: synchronize_rcu() when using POLLFREE.
2019-10-07 18:53:19 +02:00
ata
libata: add SG safety checks in SFF pio transfers
2019-09-06 10:19:35 +02:00
atm
Kconfig: Fix the reference to the IDT77105 Phy driver in the description of ATM_NICSTAR_USE_IDT77105
2019-09-21 07:14:13 +02:00
auxdisplay
base
x86/bugs: Add ITLB_MULTIHIT bug infrastructure
2019-11-16 10:29:54 +01:00
bcma
block
loop: Add LOOP_SET_DIRECT_IO to compat ioctl
2019-10-29 09:15:09 +01:00
bluetooth
Bluetooth: hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in hci_uart_set_proto()
2019-11-16 10:29:34 +01:00
bus
bus: arm-cci: remove unnecessary unreachable()
2018-12-05 19:42:41 +01:00
cdrom
cdrom: Fix race condition in cdrom_sysctl_register
2019-04-05 22:29:12 +02:00
char
ipmi_si: Only schedule continuously in the thread in maintenance mode
2019-10-07 18:53:10 +02:00
clk
clk: at91: select parent if main oscillator or bypass is enabled
2019-10-07 18:53:14 +02:00
clocksource
clocksource/drivers/exynos_mct: Increase priority over ARM arch timer
2019-08-04 09:33:22 +02:00
connector
cpufreq
cpufreq: Avoid cpufreq_suspend() deadlock on system shutdown
2019-10-29 09:15:25 +01:00
cpuidle
cpuidle: big.LITTLE: fix refcount leak
2019-02-12 19:44:55 +01:00
crypto
crypto: caam - fix concurrency issue in givencrypt descriptor
2019-10-17 13:42:19 -07:00
dax
dca
devfreq
PM / devfreq: passive: fix compiler warning
2019-10-05 12:30:29 +02:00
dio
dma
dmaengine: xilinx_dma: Fix control reg update in vdma_channel_set_config
2019-11-12 19:15:54 +01:00
dma-buf
edac
EDAC/altera: Use the proper type for the IRQ status bits
2019-10-05 12:30:20 +02:00
eisa
extcon
extcon: arizona: Disable mic detect if running when driver is removed
2019-05-31 06:48:26 -07:00
firewire
firmware
efi/cper: Fix endianness of PCIe class code
2019-11-06 12:18:09 +01:00
fmc
fpga
gpio
gpio: max77620: Use correct unit for debounce times
2019-11-06 12:18:07 +01:00
gpu
drm/i915/cmdparser: Fix jump whitelist clearing
2019-11-12 19:16:24 +01:00
hid
HID: intel-ish-hid: fix wrong error handling in ishtp_cl_alloc_tx_ring()
2019-11-12 19:15:55 +01:00
hsi
hv
Drivers: hv: vmbus: Return -EINVAL for the sys files for unopened channels
2018-12-29 13:40:15 +01:00
hwmon
hwmon: (acpi_power_meter) Change log level for 'unsafe software power cap'
2019-10-05 12:30:26 +02:00
hwspinlock
hwtracing
coresight: etm4x: Use explicit barriers on enable/disable
2019-10-17 13:42:20 -07:00
i2c
i2c: riic: Clear NACK in tend isr
2019-10-05 12:30:36 +02:00
ide
ide: pmac: add of_node_put()
2018-12-21 14:11:37 +01:00
idle
x86/cpu: Sanitize FAM6_ATOM naming
2019-05-14 19:19:34 +02:00
iio
iio: imu: adis16480: make sure provided frequency is positive
2019-11-12 19:15:45 +01:00
infiniband
RDMA/iw_cxgb4: Avoid freeing skb twice in arp failure case
2019-11-12 19:16:03 +01:00
input
Input: da9063 - fix capability and drop KEY_SLEEP
2019-10-29 09:15:20 +01:00
iommu
iommu/amd: Silence warnings under memory pressure
2019-10-05 12:30:25 +02:00
ipack
irqchip
irqchip/gic-v3-its: Fix LPI release for Multi-MSI devices
2019-10-05 12:30:10 +02:00
isdn
mISDN: enforce CAP_NET_RAW for raw sockets
2019-10-05 12:30:14 +02:00
leds
leds: leds-lp5562 allow firmware files up to the maximum length
2019-10-05 12:30:17 +02:00
lguest
lightnvm
macintosh
macintosh/rack-meter: Convert cputime64_t use to u64
2018-10-20 09:51:32 +02:00
mailbox
mailbox: handle failed named mailbox channel request
2019-08-04 09:33:41 +02:00
mcb
md
dm: Use kzalloc for all structs with embedded biosets/mempools
2019-11-06 12:18:01 +01:00
media
media: stkwebcam: fix runtime PM after driver unbind
2019-10-17 13:42:46 -07:00
memory
memory: tegra: Fix integer overflow on tick value calculation
2019-05-25 18:26:49 +02:00
memstick
memstick: jmb38x_ms: Fix an error handling path in 'jmb38x_ms_probe()'
2019-10-29 09:15:25 +01:00
message
mfd
mfd: intel-lpss: Remove D3cold delay
2019-10-07 18:53:16 +02:00
misc
VMCI: Release resource if the work is already queued
2019-09-06 10:19:52 +02:00
mmc
mmc: sdhci: Fix incorrect switch to HS mode
2019-10-05 12:30:27 +02:00
mtd
mtd: cfi_cmdset_0002: Use chip_good() to retry in do_write_oneword()
2019-10-05 12:30:07 +02:00
net
can: flexcan: disable completely the ECC mechanism
2019-11-12 19:16:10 +01:00
nfc
NFC: st21nfca: fix double free
2019-11-12 19:15:40 +01:00
ntb
nubus
nvdimm
libnvdimm/pfn: fix fsdax-mode namespace info-block zero-fields
2019-08-04 09:33:29 +02:00
nvme
nvmet: fix data units read and written counters in SMART log
2019-10-05 12:30:25 +02:00
nvmem
nvmem: Use the same permissions for eeprom as for nvmem
2019-09-21 07:14:08 +02:00
of
of: unittest: fix memory leak in unittest_data_add
2019-11-10 11:23:19 +01:00
oprofile
parisc
parisc: Disable HP HSC-PCI Cards to prevent kernel crash
2019-10-05 12:30:31 +02:00
parport
parport: Fix mem leak in parport_register_dev_model
2019-07-10 09:55:29 +02:00
pci
PCI: tegra: Enable Relaxed Ordering only for Tegra20 & Tegra30
2019-11-12 19:15:54 +01:00
pcmcia
pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges
2018-11-13 11:16:46 -08:00
perf
drivers/perf: arm_pmu: Fix failure path in PM notifier
2019-08-06 18:29:41 +02:00
phy
phy: renesas: rcar-gen2: Fix memory leak at error paths
2019-08-04 09:33:37 +02:00
pinctrl
pinctrl: ns2: Fix off by one bugs in ns2_pinmux_enable()
2019-11-10 11:23:12 +01:00
platform
platform/x86: intel_pmc_ipc: adding error handling
2019-06-22 08:17:16 +02:00
pnp
power
power: supply: sysfs: ratelimit property read error message
2019-10-05 12:30:09 +02:00
powercap
x86/cpu: Sanitize FAM6_ATOM naming
2019-05-14 19:19:34 +02:00
pps
drivers/pps/pps.c: clear offset flags in PPS_SETPARAMS ioctl
2019-08-04 09:33:45 +02:00
ps3
ptp
ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl
2019-02-12 19:44:52 +01:00
pwm
pwm: Fix deadlock warning when removing PWM device
2019-06-22 08:17:17 +02:00
rapidio
drivers/rapidio/devices/rio_mport_cdev.c: NUL terminate some strings
2019-08-06 18:29:38 +02:00
ras
regulator
regulator: pfuze100-regulator: Variable "val" in pfuze100_regulator_probe() could be uninitialized
2019-11-10 11:23:09 +01:00
remoteproc
reset
reset: make device_reset_optional() really optional
2018-12-08 13:05:08 +01:00
rpmsg
rpmsg: smd: fix memory leak on channel create
2018-11-13 11:17:03 -08:00
rtc
rtc: pcf8523: set xtal load capacitance from DT
2019-11-06 12:18:04 +01:00
s390
scsi: zfcp: fix reaction on bit error threshold notification
2019-10-29 09:15:23 +01:00
sbus
drivers/sbus/char: add of_node_put()
2018-12-21 14:11:36 +01:00
scsi
scsi: qla2xxx: stop timer in shutdown path
2019-11-12 19:16:03 +01:00
sfi
sh
sn
soc
soc: mediatek: pwrap: Zero initialize rdata in pwrap_init_cipher
2019-06-22 08:17:15 +02:00
spi
spi: bcm2835aux: fix corruptions for longer spi transfers
2019-09-10 10:31:03 +01:00
spmi
ssb
ssb: Fix possible NULL pointer dereference in ssb_host_pcmcia_exit
2019-05-31 06:48:12 -07:00
staging
staging: rtl8188eu: fix null dereference when kzalloc fails
2019-11-06 12:18:06 +01:00
target
scsi: target: core: Do not overwrite CDB byte 1
2019-11-10 11:23:18 +01:00
tc
TC: Set DMA masks for devices
2018-11-13 11:17:02 -08:00
thermal
thermal: Fix use-after-free when unregistering thermal zone device
2019-10-17 13:42:12 -07:00
thunderbolt
thunderbolt: Use 32-bit writes when writing ring producer/consumer
2019-11-06 12:18:14 +01:00
tty
serial: mctrl_gpio: Check for NULL pointer
2019-11-06 12:18:08 +01:00
uio
uio: Fix an Oops on load
2018-11-27 16:09:41 +01:00
usb
usb: gadget: core: unmap request from DMA only if previously mapped
2019-11-16 10:29:37 +01:00
uwb
uwb: hwa-rc: fix memory leak at probe
2018-10-03 17:01:42 -07:00
vfio
vfio_pci: Restore original state on release
2019-10-07 18:53:12 +02:00
vhost
vhost: make sure log_num < in_num
2019-09-16 08:19:34 +02:00
video
video: ssd1307fb: Start page range at page_offset
2019-10-07 18:53:09 +02:00
virt
drivers/virt/fsl_hypervisor.c: prevent integer overflow in ioctl
2019-05-16 19:43:47 +02:00
virtio
virtio: Honour 'may_reduce_num' in vring_create_virtqueue
2019-04-17 08:36:47 +02:00
vlynq
vme
w1
w1: fix the resume command API
2019-05-31 06:48:15 -07:00
watchdog
watchdog: imx2_wdt: fix min() calculation in imx2_wdt_set_timeout
2019-10-17 13:42:07 -07:00
xen
xen/pci: reserve MCFG areas earlier
2019-10-17 13:42:10 -07:00
zorro
Kconfig
Makefile