Changes in 5.15.65
mm: Force TLB flush for PFNMAP mappings before unlink_file_vma()
drm/bridge: Add stubs for devm_drm_of_get_bridge when OF is disabled
ACPI: thermal: drop an always true check
drm/vc4: hdmi: Rework power up
drm/vc4: hdmi: Depends on CONFIG_PM
firmware: tegra: bpmp: Do only aligned access to IPC memory area
crypto: lib - remove unneeded selection of XOR_BLOCKS
Drivers: hv: balloon: Support status report for larger page sizes
mm/hugetlb: avoid corrupting page->mapping in hugetlb_mcopy_atomic_pte
arm64: errata: Add Cortex-A510 to the repeat tlbi list
io_uring: correct fill events helpers types
io_uring: clean cqe filling functions
io_uring: refactor poll update
io_uring: move common poll bits
io_uring: kill poll linking optimisation
io_uring: inline io_poll_complete
io_uring: poll rework
io_uring: Remove unused function req_ref_put
io_uring: remove poll entry from list when canceling all
io_uring: bump poll refs to full 31-bits
io_uring: fail links when poll fails
io_uring: fix wrong arm_poll error handling
io_uring: fix UAF due to missing POLLFREE handling
kbuild: Fix include path in scripts/Makefile.modpost
Bluetooth: L2CAP: Fix build errors in some archs
Revert "PCI/portdrv: Don't disable AER reporting in get_port_device_capability()"
HID: steam: Prevent NULL pointer dereference in steam_{recv,send}_report
udmabuf: Set the DMA mask for the udmabuf device (v2)
media: pvrusb2: fix memory leak in pvr_probe
HID: hidraw: fix memory leak in hidraw_release()
net: fix refcount bug in sk_psock_get (2)
fbdev: fb_pm2fb: Avoid potential divide by zero error
ftrace: Fix NULL pointer dereference in is_ftrace_trampoline when ftrace is dead
bpf: Don't redirect packets with invalid pkt_len
mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse
ALSA: usb-audio: Add quirk for LH Labs Geek Out HD Audio 1V5
HID: add Lenovo Yoga C630 battery quirk
HID: AMD_SFH: Add a DMI quirk entry for Chromebooks
HID: asus: ROG NKey: Ignore portion of 0x5a report
HID: thrustmaster: Add sparco wheel and fix array length
drm/i915/gt: Skip TLB invalidations once wedged
mmc: mtk-sd: Clear interrupts when cqe off/disable
mmc: sdhci-of-dwcmshc: add reset call back for rockchip Socs
mmc: sdhci-of-dwcmshc: rename rk3568 to rk35xx
mmc: sdhci-of-dwcmshc: Re-enable support for the BlueField-3 SoC
btrfs: remove root argument from btrfs_unlink_inode()
btrfs: remove no longer needed logic for replaying directory deletes
btrfs: add and use helper for unlinking inode during log replay
btrfs: fix warning during log replay when bumping inode link count
fs/ntfs3: Fix work with fragmented xattr
ASoC: sh: rz-ssi: Improve error handling in rz_ssi_probe() error path
drm/amd/display: Avoid MPC infinite loop
drm/amd/display: Fix HDMI VSIF V3 incorrect issue
drm/amd/display: For stereo keep "FLIP_ANY_FRAME"
drm/amd/display: clear optc underflow before turn off odm clock
ksmbd: return STATUS_BAD_NETWORK_NAME error status if share is not configured
neigh: fix possible DoS due to net iface start/stop loop
s390/hypfs: avoid error message under KVM
ksmbd: don't remove dos attribute xattr on O_TRUNC open
drm/amd/pm: add missing ->fini_microcode interface for Sienna Cichlid
drm/amd/display: Fix pixel clock programming
drm/amdgpu: Increase tlb flush timeout for sriov
drm/amd/display: avoid doing vm_init multiple time
netfilter: conntrack: NF_CONNTRACK_PROCFS should no longer default to y
testing: selftests: nft_flowtable.sh: use random netns names
btrfs: move lockdep class helpers to locking.c
btrfs: fix lockdep splat with reloc root extent buffers
btrfs: tree-checker: check for overlapping extent items
kprobes: don't call disarm_kprobe() for disabled kprobes
btrfs: fix space cache corruption and potential double allocations
android: binder: fix lockdep check on clearing vma
net/af_packet: check len when min_header_len equals to 0
net: neigh: don't call kfree_skb() under spin_lock_irqsave()
Linux 5.15.65
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5d29db64b8de0e14dbe991c50430c20bb36ecf59
186 lines
14 KiB
ReStructuredText
186 lines
14 KiB
ReStructuredText
=======================================
|
|
Silicon Errata and Software Workarounds
|
|
=======================================
|
|
|
|
Author: Will Deacon <will.deacon@arm.com>
|
|
|
|
Date : 27 November 2015
|
|
|
|
It is an unfortunate fact of life that hardware is often produced with
|
|
so-called "errata", which can cause it to deviate from the architecture
|
|
under specific circumstances. For hardware produced by ARM, these
|
|
errata are broadly classified into the following categories:
|
|
|
|
========== ========================================================
|
|
Category A A critical error without a viable workaround.
|
|
Category B A significant or critical error with an acceptable
|
|
workaround.
|
|
Category C A minor error that is not expected to occur under normal
|
|
operation.
|
|
========== ========================================================
|
|
|
|
For more information, consult one of the "Software Developers Errata
|
|
Notice" documents available on infocenter.arm.com (registration
|
|
required).
|
|
|
|
As far as Linux is concerned, Category B errata may require some special
|
|
treatment in the operating system. For example, avoiding a particular
|
|
sequence of code, or configuring the processor in a particular way. A
|
|
less common situation may require similar actions in order to declassify
|
|
a Category A erratum into a Category C erratum. These are collectively
|
|
known as "software workarounds" and are only required in the minority of
|
|
cases (e.g. those cases that both require a non-secure workaround *and*
|
|
can be triggered by Linux).
|
|
|
|
For software workarounds that may adversely impact systems unaffected by
|
|
the erratum in question, a Kconfig entry is added under "Kernel
|
|
Features" -> "ARM errata workarounds via the alternatives framework".
|
|
These are enabled by default and patched in at runtime when an affected
|
|
CPU is detected. For less-intrusive workarounds, a Kconfig option is not
|
|
available and the code is structured (preferably with a comment) in such
|
|
a way that the erratum will not be hit.
|
|
|
|
This approach can make it slightly onerous to determine exactly which
|
|
errata are worked around in an arbitrary kernel source tree, so this
|
|
file acts as a registry of software workarounds in the Linux Kernel and
|
|
will be updated when new workarounds are committed and backported to
|
|
stable kernels.
|
|
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Implementor | Component | Erratum ID | Kconfig |
|
|
+================+=================+=================+=============================+
|
|
| Allwinner | A64/R18 | UNKNOWN1 | SUN50I_ERRATUM_UNKNOWN1 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A53 | #826319 | ARM64_ERRATUM_826319 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A53 | #827319 | ARM64_ERRATUM_827319 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A53 | #824069 | ARM64_ERRATUM_824069 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A53 | #819472 | ARM64_ERRATUM_819472 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A53 | #845719 | ARM64_ERRATUM_845719 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A53 | #843419 | ARM64_ERRATUM_843419 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A55 | #1024718 | ARM64_ERRATUM_1024718 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A55 | #1530923 | ARM64_ERRATUM_1530923 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A57 | #832075 | ARM64_ERRATUM_832075 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A57 | #852523 | N/A |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A57 | #834220 | ARM64_ERRATUM_834220 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A57 | #1319537 | ARM64_ERRATUM_1319367 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A72 | #853709 | N/A |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A72 | #1319367 | ARM64_ERRATUM_1319367 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A73 | #858921 | ARM64_ERRATUM_858921 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A76 | #1188873,1418040| ARM64_ERRATUM_1418040 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A76 | #1165522 | ARM64_ERRATUM_1165522 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A76 | #1286807 | ARM64_ERRATUM_1286807 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A76 | #1463225 | ARM64_ERRATUM_1463225 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A77 | #1508412 | ARM64_ERRATUM_1508412 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A510 | #2441009 | ARM64_ERRATUM_2441009 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A710 | #2119858 | ARM64_ERRATUM_2119858 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A710 | #2054223 | ARM64_ERRATUM_2054223 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Cortex-A710 | #2224489 | ARM64_ERRATUM_2224489 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Neoverse-N1 | #1349291 | N/A |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Neoverse-N1 | #1542419 | ARM64_ERRATUM_1542419 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Neoverse-N2 | #2139208 | ARM64_ERRATUM_2139208 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Neoverse-N2 | #2067961 | ARM64_ERRATUM_2067961 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | Neoverse-N2 | #2253138 | ARM64_ERRATUM_2253138 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| ARM | MMU-500 | #841119,826419 | N/A |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Broadcom | Brahma-B53 | N/A | ARM64_ERRATUM_845719 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Broadcom | Brahma-B53 | N/A | ARM64_ERRATUM_843419 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Cavium | ThunderX ITS | #22375,24313 | CAVIUM_ERRATUM_22375 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Cavium | ThunderX ITS | #23144 | CAVIUM_ERRATUM_23144 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Cavium | ThunderX GICv3 | #23154 | CAVIUM_ERRATUM_23154 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Cavium | ThunderX GICv3 | #38539 | N/A |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Cavium | ThunderX Core | #27456 | CAVIUM_ERRATUM_27456 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Cavium | ThunderX Core | #30115 | CAVIUM_ERRATUM_30115 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Cavium | ThunderX SMMUv2 | #27704 | N/A |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Cavium | ThunderX2 SMMUv3| #74 | N/A |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Cavium | ThunderX2 SMMUv3| #126 | N/A |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Cavium | ThunderX2 Core | #219 | CAVIUM_TX2_ERRATUM_219 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Marvell | ARM-MMU-500 | #582743 | N/A |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| NVIDIA | Carmel Core | N/A | NVIDIA_CARMEL_CNP_ERRATUM |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Freescale/NXP | LS2080A/LS1043A | A-008585 | FSL_ERRATUM_A008585 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Hisilicon | Hip0{5,6,7} | #161010101 | HISILICON_ERRATUM_161010101 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Hisilicon | Hip0{6,7} | #161010701 | N/A |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Hisilicon | Hip0{6,7} | #161010803 | N/A |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Hisilicon | Hip07 | #161600802 | HISILICON_ERRATUM_161600802 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Hisilicon | Hip08 SMMU PMCG | #162001800 | N/A |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Qualcomm Tech. | Kryo/Falkor v1 | E1003 | QCOM_FALKOR_ERRATUM_1003 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Qualcomm Tech. | Kryo/Falkor v1 | E1009 | QCOM_FALKOR_ERRATUM_1009 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Qualcomm Tech. | QDF2400 ITS | E0065 | QCOM_QDF2400_ERRATUM_0065 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Qualcomm Tech. | Falkor v{1,2} | E1041 | QCOM_FALKOR_ERRATUM_1041 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Qualcomm Tech. | Kryo4xx Gold | N/A | ARM64_ERRATUM_1463225 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Qualcomm Tech. | Kryo4xx Gold | N/A | ARM64_ERRATUM_1418040 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Qualcomm Tech. | Kryo4xx Silver | N/A | ARM64_ERRATUM_1530923 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Qualcomm Tech. | Kryo4xx Silver | N/A | ARM64_ERRATUM_1024718 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Qualcomm Tech. | Kryo4xx Gold | N/A | ARM64_ERRATUM_1286807 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
|
|
+----------------+-----------------+-----------------+-----------------------------+
|
|
| Fujitsu | A64FX | E#010001 | FUJITSU_ERRATUM_010001 |
|
|
+----------------+-----------------+-----------------+-----------------------------+
|