Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NAS-123761 / 22.04 / Update to v5.15.128 to fix CVEs #113

Merged
merged 514 commits into from
Aug 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
514 commits
Select commit Hold shift + click to select a range
0d6f639
file: reinstate f_pos locking optimization for regular files
torvalds Aug 3, 2023
80ec112
fs/ntfs3: Use __GFP_NOWARN allocation at ntfs_load_attr_list()
Mar 28, 2023
afd9a31
fs/sysv: Null check to prevent null-ptr-deref bug
May 31, 2023
fbe5a2f
Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb
swkim101 May 31, 2023
27d0f75
net: usbnet: Fix WARNING in usbnet_start_xmit/usb_submit_urb
AlanStern Jul 12, 2023
0ccfe21
fs: Protect reconfiguration of sb read-write from racing writes
jankara Jun 15, 2023
596be67
ext2: Drop fragment support
jankara Jun 13, 2023
f6807b6
mtd: rawnand: omap_elm: Fix incorrect type in assignment
rogerq Jun 24, 2023
1796b49
mtd: rawnand: rockchip: fix oobfree offset and description
Jul 14, 2023
70643e9
mtd: rawnand: rockchip: Align hwecc vs. raw page helper layouts
Jul 14, 2023
eb7a5e4
mtd: rawnand: fsl_upm: Fix an off-by one test in fun_exec_op()
tititiou36 Jul 19, 2023
5058c14
powerpc/mm/altmap: Fix altmap boundary check
kvaneesh Jul 24, 2023
0f1f471
drm/imx/ipuv3: Fix front porch adjustment upon hactive aligning
tq-steina May 15, 2023
1cdb50f
selftests/rseq: check if libc rseq support is registered
mjeanson Jun 14, 2022
c91c07a
selftests/rseq: Play nice with binaries statically linked against gli…
sean-jc Jul 21, 2023
7996fac
soundwire: bus: pm_runtime_request_resume on peripheral attachment
plbossart Apr 20, 2022
a36b522
soundwire: fix enumeration completion
jhovold Jul 5, 2023
b5d3a42
PM / wakeirq: support enabling wake-up irq after runtime_suspend called
Oct 25, 2021
aeb4db8
PM: sleep: wakeirq: fix wake irq arming
jhovold Jul 13, 2023
24c4de4
Linux 5.15.126
gregkh Aug 11, 2023
5956790
ksmbd: validate command request size
Jul 29, 2023
aeb9749
ksmbd: fix wrong next length validation of ea buffer in smb2_set_ea()
namjaejeon Aug 5, 2023
3f00757
wireguard: allowedips: expand maximum node depth
zx2c4 Aug 7, 2023
6cde607
mmc: moxart: read scr register without changing byte order
saproj Jun 27, 2023
3ca8f5c
ipv6: adjust ndisc_is_useropt() to also return true for PIO
zenczykowski Aug 7, 2023
57772ae
dmaengine: pl330: Return DMA_PAUSED when transaction is paused
ij-intel May 26, 2023
bcd9eeb
riscv,mmio: Fix readX()-to-delay() ordering
Aug 3, 2023
64e6253
drm/nouveau/gr: enable memory loads on helper invocation on all channels
karolherbst Jun 22, 2023
621204f
drm/shmem-helper: Reset vma->vm_ops before calling dma_buf_mmap()
bbrezillon Jul 24, 2023
3ad4ba2
drm/amd/display: check attr flag before set cursor degamma on DCN3+
melissawen Jul 31, 2023
8d10284
hwmon: (pmbus/bel-pfe) Enable PMBUS_SKIP_STATUS_CHECK for pfe1100
tao-ren Aug 4, 2023
36a3b56
radix tree test suite: fix incorrect allocation size for pthreads
ColinIanKing Jul 27, 2023
3645510
nilfs2: fix use-after-free of nilfs_root in dirtying inodes via iput
konis Jul 28, 2023
c47d017
bpf: allow precision tracking for programs with subprogs
anakryiko Aug 4, 2023
2516dee
bpf: stop setting precise in current state
anakryiko Aug 4, 2023
683d296
bpf: aggressively forget precise markings during state checkpointing
anakryiko Aug 4, 2023
ee70120
selftests/bpf: make test_align selftest more robust
anakryiko Aug 4, 2023
1272772
selftests/bpf: Workaround verification failure for fexit_bpf2bpf/func…
yonghong-song Aug 4, 2023
697bc23
selftests/bpf: Fix sk_assign on s390x
iii-i Aug 4, 2023
a7cedc2
io_uring: correct check for O_TMPFILE
cyphar Aug 12, 2023
2df8ae1
iio: cros_ec: Fix the allocation size for cros_ec_command
yiyuaner Jun 30, 2023
a8e2ae6
iio: adc: ina2xx: avoid NULL pointer dereference on OF device match
sipraga Jun 19, 2023
03eebad
binder: fix memory leak in binder_init()
Jun 25, 2023
945e1b3
misc: rtsx: judge ASPM Mode to set PETXCFG Reg
Jul 25, 2023
7a11d1e
usb-storage: alauda: Fix uninit-value in alauda_check_media()
AlanStern Aug 2, 2023
00cc14b
usb: dwc3: Properly handle processing of pending events
Aug 1, 2023
f776b94
usb: common: usb-conn-gpio: Prevent bailing out if initial role is none
Aug 1, 2023
c2372b1
usb: typec: tcpm: Fix response to vsafe0V event
Jul 12, 2023
c41a22b
x86/srso: Fix build breakage with the LLVM linker
nickdesaulniers Aug 9, 2023
8294095
x86/cpu/amd: Enable Zenbleed fix for AMD Custom APU 0405
cristicc Aug 11, 2023
9290ef1
x86/mm: Fix VDSO and VVAR placement on 5-level paging machines
kiryl Aug 3, 2023
f919cbc
x86/speculation: Add cpu_show_gds() prototype
arndb Aug 9, 2023
4c6767c
x86: Move gds_ucode_mitigated() declaration to header
arndb Aug 9, 2023
b8b8db5
drm/nouveau/disp: Revert a NULL check inside nouveau_connector_get_modes
karolherbst Aug 5, 2023
b973eb7
selftests/rseq: Fix build with undefined __weak
broonie Aug 4, 2023
b9dfb80
selftests: forwarding: Add a helper to skip test when using veth pairs
idosch Aug 8, 2023
b8d216e
selftests: forwarding: ethtool: Skip when using veth pairs
idosch Aug 8, 2023
4a44994
selftests: forwarding: ethtool_extended_state: Skip when using veth p…
idosch Aug 8, 2023
e410f85
selftests: forwarding: Skip test when no interfaces are specified
idosch Aug 8, 2023
7b3fa99
selftests: forwarding: Switch off timeout
idosch Aug 8, 2023
85af0b2
selftests: forwarding: tc_flower: Relax success criterion
idosch Aug 8, 2023
a09c258
net: core: remove unnecessary frame_sz check in bpf_xdp_adjust_tail()
kanner Aug 3, 2023
20d5389
bpf, sockmap: Fix map type error in sock_map_del_link
Aug 4, 2023
3961761
bpf, sockmap: Fix bug that strp_done cannot be called
Aug 4, 2023
f4614e3
mISDN: Update parameter type of dsp_cmx_send()
nathanchance Aug 2, 2023
7903311
net/packet: annotate data-races around tp->status
Aug 3, 2023
e958081
tunnels: fix kasan splat when generating ipv4 pmtu error
Aug 3, 2023
789fcd9
xsk: fix refcount underflow in error path
magnus-karlsson Aug 9, 2023
49a1fee
bonding: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
Aug 2, 2023
f239c9e
dccp: fix data-race around dp->dccps_mss_cache
Aug 3, 2023
b1f985c
drivers: net: prevent tun_build_skb() to exceed the packet size limit
kanner Aug 3, 2023
df21468
iavf: fix potential races for FDIR filters
pgardocx Aug 7, 2023
918c1e6
IB/hfi1: Fix possible panic during hotplug remove
drmiller-cni Aug 2, 2023
26a27dd
drm/rockchip: Don't spam logs in atomic check
fooishbar Aug 8, 2023
f78a423
wifi: cfg80211: fix sband iftype data lookup for AP_VLAN
nbd168 Jun 22, 2023
7d496cd
RDMA/umem: Set iova in ODP flow
mikijoy Jul 19, 2023
1ae9703
net: phy: at803x: remove set/get wol callbacks for AR8032
Aug 2, 2023
094310e
net: hns3: refactor hclge_mac_link_status_wait for interface reuse
Aug 7, 2023
9130734
net: hns3: add wait until mac link down
Aug 7, 2023
4457300
nexthop: Fix infinite nexthop dump when using maximum nexthop ID
idosch Aug 8, 2023
608a432
nexthop: Make nexthop bucket dump more efficient
idosch Aug 8, 2023
7e1dc94
nexthop: Fix infinite nexthop bucket dump when using maximum nexthop ID
idosch Aug 8, 2023
086a80e
dmaengine: mcf-edma: Fix a potential un-allocated memory access
tititiou36 Jul 12, 2023
f638fc2
net/mlx5: Allow 0 for total host VFs
Jul 10, 2023
27e8db8
net/mlx5: Skip clock update work when device is in error state
mosheshemesh2 Jul 19, 2023
cee6275
ibmvnic: Enforce stronger sanity checks on login response
Aug 9, 2023
34fcc82
ibmvnic: Unmap DMA login rsp buffer on send login fail
Aug 9, 2023
555e126
ibmvnic: Handle DMA unmapping of login buffs in release functions
Aug 9, 2023
c40d4b6
btrfs: don't stop integrity writeback too early
Jul 24, 2023
69dd147
btrfs: exit gracefully if reloc roots don't match
adam900710 Aug 3, 2023
314135b
btrfs: reject invalid reloc tree root keys with stack dump
adam900710 Aug 3, 2023
ae6e21f
btrfs: set cache_block_group_error if we find an error
josefbacik Aug 2, 2023
d68f8ef
nvme-tcp: fix potential unbalanced freeze & unfreeze
Jul 11, 2023
9bdbbcf
nvme-rdma: fix potential unbalanced freeze & unfreeze
Jul 11, 2023
b757ef9
netfilter: nf_tables: report use refcount overflow
ummakynes Aug 12, 2023
0f52d7b
scsi: core: Fix legacy /proc parsing buffer overflow
abattersby Jul 24, 2023
7a792b3
scsi: storvsc: Fix handling of virtual Fibre Channel timeouts
kelleymh Jul 29, 2023
171e117
scsi: 53c700: Check that command slot is not NULL
Jul 28, 2023
461f8ac
scsi: snic: Fix possible memory leak if device_add() fails
PeterZhu789 Aug 1, 2023
6bc7f4c
scsi: core: Fix possible memory leak if device_add() fails
PeterZhu789 Aug 3, 2023
e70469c
scsi: fnic: Replace return codes in fnic_clean_pending_aborts()
Jul 27, 2023
85db1cd
scsi: qedi: Fix firmware halt over suspend and resume
njavali Aug 7, 2023
f8d6d25
scsi: qedf: Fix firmware halt over suspend and resume
njavali Aug 7, 2023
5d094d4
alpha: remove __init annotation from exported page_is_ram()
masahir0y Jul 29, 2023
af99918
sch_netem: fix issues in netem_change() vs get_dist_table()
Jun 22, 2023
c3b954a
tick: Detect and fix jiffies update stall
Aug 13, 2023
b4d36e6
timers/nohz: Switch to ONESHOT_STOPPED in the low-res handler when th…
npiggin Aug 13, 2023
c597d8c
timers/nohz: Last resort update jiffies on nohz_full IRQ entry
Aug 13, 2023
f6f7927
Linux 5.15.127
gregkh Aug 16, 2023
a798977
mmc: sdhci-f-sdh30: Replace with sdhci_pltfm
khayash1 Jun 30, 2023
d61a088
selftests: forwarding: tc_actions: cleanup temporary files when test …
dcaratti Feb 14, 2023
396a192
selftests: forwarding: tc_actions: Use ncat instead of nc
idosch Aug 8, 2023
3d64a23
macsec: Fix traffic counters/statistics
Aug 8, 2022
51222e1
macsec: use DEV_STATS_INC()
Aug 4, 2023
2d93157
net/tls: Perform immediate device ctx cleanup when possible
Jul 27, 2022
9a15ca8
net/tls: Multi-threaded calls to TX tls_dev_del
Jul 27, 2022
e2d10f1
net: tls: avoid discarding data on record close
kuba-moo Aug 4, 2023
cc15908
PCI: tegra194: Fix possible array out of bounds access
May 11, 2023
ca66e9d
ARM: dts: imx6dl: prtrvt, prtvt7, prti6q, prtwd2: fix USB related war…
olerem May 30, 2023
7d53d1e
iopoll: Call cpu_relax() in busy loops
geertu Jun 2, 2023
e9ce774
ASoC: SOF: Intel: fix SoundWire/HDaudio mutual exclusion
plbossart Jun 6, 2023
ff10cd3
dma-remap: use kvmalloc_array/kvfree for larger dma memory remap
Jun 6, 2023
fd41646
HID: logitech-hidpp: Add USB and Bluetooth IDs for the Logitech G915 …
stuarthayhurst May 30, 2023
4921792
drm/amdgpu: install stub fence into potential unused fence pointers
May 5, 2023
9631d88
HID: add quirk for 03f0:464a HP Elite Presenter Mouse
mmorandi May 30, 2023
1a650d3
RDMA/mlx5: Return the firmware result upon destroying QP/RQ
PatrisiousHaddad Jun 5, 2023
a3f2524
ovl: check type and offset of struct vfsmount in ovl_entry
brauner Jun 13, 2023
9850867
smb: client: fix warning in cifs_smb3_do_mount()
pcacjr Jun 19, 2023
1676748
media: v4l2-mem2mem: add lock to protect parameter num_rdy
yunfei-mtk Apr 17, 2023
cb17434
usb: gadget: u_serial: Avoid spinlock recursion in __gs_console_push
May 9, 2023
776b346
media: platform: mediatek: vpu: fix NULL ptr dereference
May 24, 2023
25decbb
thunderbolt: Read retimer NVM authentication status prior tb_retimer_…
westeri May 26, 2023
7bdb4c9
usb: chipidea: imx: don't request QoS for imx8ulp
May 30, 2023
eafb79d
usb: chipidea: imx: add missing USB PHY DPDM wakeup setting
May 17, 2023
85e8881
gfs2: Fix possible data races in gfs2_show_options()
lituo1996 Jun 13, 2023
97fd1c8
pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource…
Wer-Wolf May 12, 2023
2ea7037
firewire: net: fix use after free in fwnet_finish_incoming_packet()
ZhangShurong Jun 23, 2023
302d045
watchdog: sp5100_tco: support Hygon FCH/SCH (Server Controller Hub)
Jun 12, 2023
548a6b6
Bluetooth: L2CAP: Fix use-after-free
May 25, 2023
5720c7e
Bluetooth: btusb: Add MT7922 bluetooth ID for the Asus Ally
ruineka Jun 24, 2023
ef568da
drm/amdgpu: Fix potential fence use-after-free v2
MiniMangosteen Jun 28, 2023
e7799bb
fs/ntfs3: Enhance sanity check while generating attr_list
Mar 16, 2023
3a00ec5
fs: ntfs3: Fix possible null-pointer dereferences in mi_read()
Mar 21, 2023
c7d8b5f
fs/ntfs3: Mark ntfs dirty when on-disk struct is corrupted
aalexandrovich May 8, 2023
5ed4dbc
ALSA: hda/realtek: Add quirks for Unis H3C Desktop B760 & Q760
Jul 3, 2023
8703b26
ALSA: hda: fix a possible null-pointer dereference due to data race i…
lituo1996 Jul 3, 2023
6657ecb
powerpc/kasan: Disable KCOV in KASAN code
BenjaminGrayNp1 Jul 10, 2023
49b830d
ring-buffer: Do not swap cpu_buffer during resize process
Jul 19, 2023
565b96d
iio: add addac subdirectory
Demon000 Dec 5, 2021
6089d35
iio: adc: stx104: Utilize iomap interface
vilhelmgray May 10, 2022
cadf8f2
iio: adc: stx104: Implement and utilize register structures
vilhelmgray Jul 7, 2022
89a007f
iio: stx104: Move to addac subdirectory
vilhelmgray Aug 15, 2022
d31d04e
iio: addac: stx104: Fix race condition for stx104_write_raw()
vilhelmgray Apr 6, 2023
9fa82f0
iio: addac: stx104: Fix race condition when converting analog-to-digital
vilhelmgray Apr 6, 2023
f84c2ca
igc: read before write to SRRCTL register
yoongsiang2 May 2, 2023
4f1beb7
ARM: dts: aspeed: asrock: Correct firmware flash SPI clocks
zevweiss Feb 24, 2023
99c444d
drm/amd/display: save restore hdcp state when display is unplugged fr…
Nov 15, 2022
0ba6c7b
drm/amd/display: phase3 mst hdcp for multiple displays
Nov 15, 2022
d3c82f2
drm/amd/display: fix access hdcp_workqueue assert
Mar 28, 2023
7dfb384
usb: dwc3: gadget: Synchronize IRQ between soft connect/disconnect
Aug 17, 2022
2fa487a
usb: dwc3: Remove DWC3 locking during gadget suspend/resume
Sep 1, 2022
d9e0041
usb: dwc3: Fix typos in gadget.c
kushagra765 Sep 13, 2022
31a0e60
USB: dwc3: gadget: drop dead hibernation code
jhovold Apr 4, 2023
20351dd
usb: dwc3: gadget: Improve dwc3_gadget_suspend() and dwc3_gadget_resu…
rogerq May 3, 2023
fa254ab
tty: serial: fsl_lpuart: Add i.MXRT1050 support
Mr-Bossman Dec 15, 2021
701bb5f
tty: serial: fsl_lpuart: make rx_watermark configurable for different…
Jan 30, 2023
8a6b753
tty: serial: fsl_lpuart: reduce RX watermark to 0 on LS1028A
rhodaszi Jun 9, 2023
a78fe5c
USB: dwc3: qcom: fix NULL-deref on suspend
jhovold Jun 7, 2023
4eeba5d
USB: dwc3: fix use-after-free on core driver unbind
jhovold Jun 7, 2023
f93e8c5
mmc: bcm2835: fix deferred probing
Jun 17, 2023
e2ff5cf
mmc: sunxi: fix deferred probing
Jun 17, 2023
4ffbfe1
ARM: dts: imx6sll: fixup of operating points
akemnade Sep 24, 2021
1707735
ARM: dts: nxp/imx6sll: fix wrong property name in usbphy node
Jul 17, 2023
edf3b5a
btrfs: move out now unused BG from the reclaim list
naota Jun 6, 2023
5b7d5c2
virtio-mmio: don't break lifecycle of vm_dev
Jun 29, 2023
a5ae5a8
vduse: Use proper spinlock for IRQ injection
mcoquelin Jul 5, 2023
b99f490
cifs: fix potential oops in cifs_oplock_break
Aug 10, 2023
c4e671d
i2c: bcm-iproc: Fix bcm_iproc_i2c_isr deadlock issue
Ychame Jul 7, 2023
184f1b6
i2c: hisi: Only handle the interrupt of the driver's transfer
Aug 1, 2023
bb70e2b
fbdev: mmp: fix value check in mmphw_probe()
AnnYugawa Jul 27, 2023
8ef25fb
powerpc/rtas_flash: allow user copy to flash block cache objects
nathanlynch Aug 11, 2023
2a52344
tty: n_gsm: fix the UAF caused by race condition in gsm_cleanup_mux
Aug 11, 2023
77698e6
tty: serial: fsl_lpuart: Clear the error flags by writing 1 for lpuar…
Aug 1, 2023
b966e9e
btrfs: fix BUG_ON condition in btrfs_cancel_balance
Aug 15, 2023
416c538
i2c: designware: Correct length byte validation logic
qnguyen-ampere Jul 26, 2023
080dedb
i2c: designware: Handle invalid SMBus block data response length value
Jul 26, 2023
1960f46
net: xfrm: Fix xfrm_address_filter OOB read
f0rm2l1n Jun 27, 2023
fed1cd2
net: af_key: fix sadb_x_filter validation
f0rm2l1n Jun 27, 2023
a465ace
net: xfrm: Amend XFRMA_SEC_CTX nla_policy structure
f0rm2l1n Jun 30, 2023
44b3d40
xfrm: fix slab-use-after-free in decode_session6
zhengchaoshao Jul 10, 2023
a1639a8
ip6_vti: fix slab-use-after-free in decode_session6
zhengchaoshao Jul 10, 2023
e1e04cc
ip_vti: fix potential slab-use-after-free in decode_session6
zhengchaoshao Jul 10, 2023
075448a
xfrm: add NULL check in xfrm_update_ae_params
f0rm2l1n Jul 21, 2023
8e5e967
xfrm: add forgotten nla_policy for XFRMA_MTIMER_THRESH
f0rm2l1n Jul 23, 2023
c2a6ffe
net: phy: fix IRQ-based wake-on-lan over hibernate / power off
Aug 11, 2023
7207ee3
selftests: mirror_gre_changes: Tighten up the TTL test match
pmachata Aug 11, 2023
b2f6d73
drm/panel: simple: Fix AUO G121EAN01 panel timings according to the docs
lucaceresoli Aug 4, 2023
8210974
netfilter: nf_tables: fix false-positive lockdep splat
Aug 8, 2023
1adaec4
netfilter: nf_tables: deactivate catchall elements in next generation
Aug 12, 2023
9177869
ipvs: fix racy memcpy in proc_do_sync_threshold
Aug 10, 2023
bf221e5
netfilter: nft_dynset: disallow object maps
ummakynes Aug 15, 2023
0ffbc34
net: phy: broadcom: stub c45 read/write for 54810
Ryceancurry Aug 13, 2023
ae68346
team: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
Aug 14, 2023
5ba2b93
iavf: fix FDIR rule fields masks validation
pgardocx Aug 7, 2023
f11c280
i40e: fix misleading debug logs
CuriousPanCake Aug 2, 2023
fc3d82d
net: dsa: mv88e6xxx: Wait for EEPROM done before HW reset
l00g33k Aug 15, 2023
5fc4fd3
sock: Fix misuse of sk_under_memory_pressure()
Abel-WY Aug 16, 2023
578371c
net: do not allow gso_size to be set to GSO_BY_FRAGS
Aug 16, 2023
03522d7
bus: ti-sysc: Flush posted write on enable before reset
tmlind Jun 14, 2023
430c29a
arm64: dts: qcom: qrb5165-rb5: fix thermal zone conflict
lumag Jun 13, 2023
e878458
ARM: dts: imx: Set default tuning step for imx6sx usdhc
Jul 26, 2023
fd346ef
ASoC: rt5665: add missed regulator_bulk_disable
ZhangShurong Aug 1, 2023
c5ac752
ASoC: meson: axg-tdm-formatter: fix channel slot allocation
jbrun3t Aug 9, 2023
dfb9676
soc: aspeed: socinfo: Add kfree for kstrdup
JiangJias Aug 10, 2023
b2a331a
ALSA: hda/realtek - Remodified 3k pull low procedure
kailangyang Aug 15, 2023
e9b8ee7
riscv: uaccess: Return the number of bytes effectively not copied
Aug 11, 2023
18e27df
serial: 8250: Fix oops for port->pm on uart_change_pm()
tmlind Aug 4, 2023
cc3f194
ALSA: usb-audio: Add support for Mythware XA001AU capture and playbac…
Aug 3, 2023
961f7ce
cifs: Release folio lock on fscache read hit.
Aug 10, 2023
b803fed
mmc: wbsd: fix double mmc_free_host() in wbsd_init()
Aug 7, 2023
ff09f9e
mmc: block: Fix in_flight[issue_type] value error
Aug 2, 2023
d578c91
drm/qxl: fix UAF on handle creation
walac Aug 14, 2023
a00c5d2
drm/amd: flush any delayed gfxoff on suspend entry
superm1 May 18, 2023
6065b30
netfilter: set default timeout to 3 secs for sctp shutdown send and r…
lxin Aug 15, 2023
6b64974
exfat: check if filename entries exceeds max filename length
namjaejeon Jul 13, 2023
9a4d8dc
arm64: dts: rockchip: Disable HS400 for eMMC on ROCK Pi 4
obbardc Jul 5, 2023
d39fc9b
af_unix: Fix null-ptr-deref in unix_stream_sendpage().
q2ven Aug 21, 2023
431db3f
virtio-net: set queues after driver_ok
jasowang Aug 10, 2023
e8c5081
net: fix the RTO timer retransmitting skb every 1ms if linear option …
JasonXing Aug 11, 2023
5b28fda
mmc: f-sdh30: fix order of function calls in sdhci_f_sdh30_remove
bbkzz Jul 27, 2023
8089aae
x86/cpu: Fix __x86_return_thunk symbol type
Aug 14, 2023
0d810ef
x86/cpu: Fix up srso_safe_ret() and __x86_return_thunk()
Aug 14, 2023
08f7cfd
x86/alternative: Make custom return thunk unconditional
Aug 14, 2023
f1171d4
objtool: Add frame-pointer-specific function ignore
jpoimboe Sep 14, 2021
f624ce6
x86/ibt: Add ANNOTATE_NOENDBR
Mar 8, 2022
f77dbb9
x86/cpu: Clean up SRSO return thunk mess
Aug 14, 2023
19c1c04
x86/cpu: Rename original retbleed methods
Aug 14, 2023
035e906
x86/cpu: Rename srso_(.*)_alias to srso_alias_\1
Aug 14, 2023
4354859
x86/cpu: Cleanup the untrain mess
Aug 14, 2023
df6495f
x86/srso: Explain the untraining sequences a bit more
bp3tk0v Aug 14, 2023
19f23d1
x86/static_call: Fix __static_call_fixup()
Aug 16, 2023
bbe5852
x86/retpoline: Don't clobber RFLAGS during srso_safe_ret()
sean-jc Aug 11, 2023
aa0777c
x86/CPU/AMD: Fix the DIV(0) initial fix attempt
bp3tk0v Aug 11, 2023
fa24cd0
x86/srso: Disable the mitigation on unaffected configurations
bp3tk0v Aug 13, 2023
55f1cbe
x86/retpoline,kprobes: Fix position of thunk sections with CONFIG_LTO…
petrpavlu Jul 11, 2023
484eefc
objtool/x86: Fixup frame-pointer vs rethunk
Aug 16, 2023
9080f4f
x86/srso: Correct the mitigation status when SMT is disabled
bp3tk0v Aug 15, 2023
5ddfe5c
Linux 5.15.128
gregkh Aug 26, 2023
7b902ad
Merge tag 'v5.15.128' into NAS-123761-bluefin
usaleem-ix Aug 29, 2023
2550373
Bump changelog after merging v5.15.128
usaleem-ix Aug 29, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 7 additions & 6 deletions Documentation/ABI/testing/sysfs-devices-system-cpu
Original file line number Diff line number Diff line change
Expand Up @@ -511,17 +511,18 @@ Description: information about CPUs heterogeneity.
cpu_capacity: capacity of cpu#.

What: /sys/devices/system/cpu/vulnerabilities
/sys/devices/system/cpu/vulnerabilities/gather_data_sampling
/sys/devices/system/cpu/vulnerabilities/itlb_multihit
/sys/devices/system/cpu/vulnerabilities/l1tf
/sys/devices/system/cpu/vulnerabilities/mds
/sys/devices/system/cpu/vulnerabilities/meltdown
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data
/sys/devices/system/cpu/vulnerabilities/retbleed
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass
/sys/devices/system/cpu/vulnerabilities/spectre_v1
/sys/devices/system/cpu/vulnerabilities/spectre_v2
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass
/sys/devices/system/cpu/vulnerabilities/l1tf
/sys/devices/system/cpu/vulnerabilities/mds
/sys/devices/system/cpu/vulnerabilities/srbds
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
/sys/devices/system/cpu/vulnerabilities/itlb_multihit
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data
/sys/devices/system/cpu/vulnerabilities/retbleed
Date: January 2018
Contact: Linux kernel mailing list <[email protected]>
Description: Information about CPU vulnerabilities
Expand Down
109 changes: 109 additions & 0 deletions Documentation/admin-guide/hw-vuln/gather_data_sampling.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
.. SPDX-License-Identifier: GPL-2.0

GDS - Gather Data Sampling
==========================

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

Problem
-------
When a gather instruction performs loads from memory, different data elements
are merged into the destination vector register. However, when a gather
instruction that is transiently executed encounters a fault, stale data from
architectural or internal vector registers may get transiently forwarded to the
destination vector register instead. This will allow a malicious attacker to
infer stale data using typical side channel techniques like cache timing
attacks. GDS is a purely sampling-based attack.

The attacker uses gather instructions to infer the stale vector register data.
The victim does not need to do anything special other than use the vector
registers. The victim does not need to use gather instructions to be
vulnerable.

Because the buffers are shared between Hyper-Threads cross Hyper-Thread attacks
are possible.

Attack scenarios
----------------
Without mitigation, GDS can infer stale data across virtually all
permission boundaries:

Non-enclaves can infer SGX enclave data
Userspace can infer kernel data
Guests can infer data from hosts
Guest can infer guest from other guests
Users can infer data from other users

Because of this, it is important to ensure that the mitigation stays enabled in
lower-privilege contexts like guests and when running outside SGX enclaves.

The hardware enforces the mitigation for SGX. Likewise, VMMs should ensure
that guests are not allowed to disable the GDS mitigation. If a host erred and
allowed this, a guest could theoretically disable GDS mitigation, mount an
attack, and re-enable it.

Mitigation mechanism
--------------------
This issue is mitigated in microcode. The microcode defines the following new
bits:

================================ === ============================
IA32_ARCH_CAPABILITIES[GDS_CTRL] R/O Enumerates GDS vulnerability
and mitigation support.
IA32_ARCH_CAPABILITIES[GDS_NO] R/O Processor is not vulnerable.
IA32_MCU_OPT_CTRL[GDS_MITG_DIS] R/W Disables the mitigation
0 by default.
IA32_MCU_OPT_CTRL[GDS_MITG_LOCK] R/W Locks GDS_MITG_DIS=0. Writes
to GDS_MITG_DIS are ignored
Can't be cleared once set.
================================ === ============================

GDS can also be mitigated on systems that don't have updated microcode by
disabling AVX. This can be done by setting gather_data_sampling="force" or
"clearcpuid=avx" on the kernel command-line.

If used, these options will disable AVX use by turning off XSAVE YMM support.
However, the processor will still enumerate AVX support. Userspace that
does not follow proper AVX enumeration to check both AVX *and* XSAVE YMM
support will break.

Mitigation control on the kernel command line
---------------------------------------------
The mitigation can be disabled by setting "gather_data_sampling=off" or
"mitigations=off" on the kernel command line. Not specifying either will default
to the mitigation being enabled. Specifying "gather_data_sampling=force" will
use the microcode mitigation when available or disable AVX on affected systems
where the microcode hasn't been updated to include the mitigation.

GDS System Information
------------------------
The kernel provides vulnerability status information through sysfs. For
GDS this can be accessed by the following sysfs file:

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

The possible values contained in this file are:

============================== =============================================
Not affected Processor not vulnerable.
Vulnerable Processor vulnerable and mitigation disabled.
Vulnerable: No microcode Processor vulnerable and microcode is missing
mitigation.
Mitigation: AVX disabled,
no microcode Processor is vulnerable and microcode is missing
mitigation. AVX disabled as mitigation.
Mitigation: Microcode Processor is vulnerable and mitigation is in
effect.
Mitigation: Microcode (locked) Processor is vulnerable and mitigation is in
effect and cannot be disabled.
Unknown: Dependent on
hypervisor status Running on a virtual guest processor that is
affected but with no way to know if host
processor is mitigated or vulnerable.
============================== =============================================

GDS Default mitigation
----------------------
The updated microcode will enable the mitigation by default. The kernel's
default action is to leave the mitigation enabled.
2 changes: 2 additions & 0 deletions Documentation/admin-guide/hw-vuln/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,5 @@ are configurable at compile, boot or run time.
l1d_flush.rst
processor_mmio_stale_data.rst
cross-thread-rsb.rst
gather_data_sampling.rst
srso
133 changes: 133 additions & 0 deletions Documentation/admin-guide/hw-vuln/srso.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
.. SPDX-License-Identifier: GPL-2.0

Speculative Return Stack Overflow (SRSO)
========================================

This is a mitigation for the speculative return stack overflow (SRSO)
vulnerability found on AMD processors. The mechanism is by now the well
known scenario of poisoning CPU functional units - the Branch Target
Buffer (BTB) and Return Address Predictor (RAP) in this case - and then
tricking the elevated privilege domain (the kernel) into leaking
sensitive data.

AMD CPUs predict RET instructions using a Return Address Predictor (aka
Return Address Stack/Return Stack Buffer). In some cases, a non-architectural
CALL instruction (i.e., an instruction predicted to be a CALL but is
not actually a CALL) can create an entry in the RAP which may be used
to predict the target of a subsequent RET instruction.

The specific circumstances that lead to this varies by microarchitecture
but the concern is that an attacker can mis-train the CPU BTB to predict
non-architectural CALL instructions in kernel space and use this to
control the speculative target of a subsequent kernel RET, potentially
leading to information disclosure via a speculative side-channel.

The issue is tracked under CVE-2023-20569.

Affected processors
-------------------

AMD Zen, generations 1-4. That is, all families 0x17 and 0x19. Older
processors have not been investigated.

System information and options
------------------------------

First of all, it is required that the latest microcode be loaded for
mitigations to be effective.

The sysfs file showing SRSO mitigation status is:

/sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow

The possible values in this file are:

- 'Not affected' The processor is not vulnerable

- 'Vulnerable: no microcode' The processor is vulnerable, no
microcode extending IBPB functionality
to address the vulnerability has been
applied.

- 'Mitigation: microcode' Extended IBPB functionality microcode
patch has been applied. It does not
address User->Kernel and Guest->Host
transitions protection but it does
address User->User and VM->VM attack
vectors.

(spec_rstack_overflow=microcode)

- 'Mitigation: safe RET' Software-only mitigation. It complements
the extended IBPB microcode patch
functionality by addressing User->Kernel
and Guest->Host transitions protection.

Selected by default or by
spec_rstack_overflow=safe-ret

- 'Mitigation: IBPB' Similar protection as "safe RET" above
but employs an IBPB barrier on privilege
domain crossings (User->Kernel,
Guest->Host).

(spec_rstack_overflow=ibpb)

- 'Mitigation: IBPB on VMEXIT' Mitigation addressing the cloud provider
scenario - the Guest->Host transitions
only.

(spec_rstack_overflow=ibpb-vmexit)

In order to exploit vulnerability, an attacker needs to:

- gain local access on the machine

- break kASLR

- find gadgets in the running kernel in order to use them in the exploit

- potentially create and pin an additional workload on the sibling
thread, depending on the microarchitecture (not necessary on fam 0x19)

- run the exploit

Considering the performance implications of each mitigation type, the
default one is 'Mitigation: safe RET' which should take care of most
attack vectors, including the local User->Kernel one.

As always, the user is advised to keep her/his system up-to-date by
applying software updates regularly.

The default setting will be reevaluated when needed and especially when
new attack vectors appear.

As one can surmise, 'Mitigation: safe RET' does come at the cost of some
performance depending on the workload. If one trusts her/his userspace
and does not want to suffer the performance impact, one can always
disable the mitigation with spec_rstack_overflow=off.

Similarly, 'Mitigation: IBPB' is another full mitigation type employing
an indrect branch prediction barrier after having applied the required
microcode patch for one's system. This mitigation comes also at
a performance cost.

Mitigation: safe RET
--------------------

The mitigation works by ensuring all RET instructions speculate to
a controlled location, similar to how speculation is controlled in the
retpoline sequence. To accomplish this, the __x86_return_thunk forces
the CPU to mispredict every function return using a 'safe return'
sequence.

To ensure the safety of this mitigation, the kernel must ensure that the
safe return sequence is itself free from attacker interference. In Zen3
and Zen4, this is accomplished by creating a BTB alias between the
untraining function srso_alias_untrain_ret() and the safe return
function srso_alias_safe_ret() which results in evicting a potentially
poisoned BTB entry and using that safe one for all function returns.

In older Zen1 and Zen2, this is accomplished using a reinterpretation
technique similar to Retbleed one: srso_untrain_ret() and
srso_safe_ret().
52 changes: 42 additions & 10 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1501,6 +1501,26 @@
Format: off | on
default: on

gather_data_sampling=
[X86,INTEL] Control the Gather Data Sampling (GDS)
mitigation.

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

This issue is mitigated by default in updated microcode.
The mitigation may have a performance impact but can be
disabled. On systems without the microcode mitigation
disabling AVX serves as a mitigation.

force: Disable AVX to mitigate systems without
microcode mitigation. No effect if the microcode
mitigation is present. Known to cause crashes in
userspace with buggy AVX enumeration.

off: Disable GDS mitigation.

gcov_persist= [GCOV] When non-zero (default), profiling data for
kernel modules is saved and remains accessible via
debugfs, even when the module is unloaded/reloaded.
Expand Down Expand Up @@ -3034,22 +3054,23 @@
Disable all optional CPU mitigations. This
improves system performance, but it may also
expose users to several CPU vulnerabilities.
Equivalent to: nopti [X86,PPC]
Equivalent to: gather_data_sampling=off [X86]
kpti=0 [ARM64]
nospectre_v1 [X86,PPC]
nobp=0 [S390]
nospectre_v2 [X86,PPC,S390,ARM64]
spectre_v2_user=off [X86]
spec_store_bypass_disable=off [X86,PPC]
ssbd=force-off [ARM64]
kvm.nx_huge_pages=off [X86]
l1tf=off [X86]
mds=off [X86]
tsx_async_abort=off [X86]
kvm.nx_huge_pages=off [X86]
mmio_stale_data=off [X86]
no_entry_flush [PPC]
no_uaccess_flush [PPC]
mmio_stale_data=off [X86]
nobp=0 [S390]
nopti [X86,PPC]
nospectre_v1 [X86,PPC]
nospectre_v2 [X86,PPC,S390,ARM64]
retbleed=off [X86]
spec_store_bypass_disable=off [X86,PPC]
spectre_v2_user=off [X86]
ssbd=force-off [ARM64]
tsx_async_abort=off [X86]

Exceptions:
This does not have any effect on
Expand Down Expand Up @@ -5429,6 +5450,17 @@
Not specifying this option is equivalent to
spectre_v2_user=auto.

spec_rstack_overflow=
[X86] Control RAS overflow mitigation on AMD Zen CPUs

off - Disable mitigation
microcode - Enable microcode mitigation only
safe-ret - Enable sw-only safe RET mitigation (default)
ibpb - Enable mitigation by issuing IBPB on
kernel entry
ibpb-vmexit - Issue IBPB only on VMEXIT
(cloud-specific mitigation)

spec_store_bypass_disable=
[HW] Control Speculative Store Bypass (SSB) Disable mitigation
(Speculative Store Bypass vulnerability)
Expand Down
Loading
Loading