Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
491 commits
Select commit Hold shift + click to select a range
843c6ce
ublk: pass ublksrv_ctrl_cmd * instead of io_uring_cmd *
calebsander Apr 9, 2025
7f991dd
drm/amdgpu/pm: add workload profile pause helper
alexdeucher Mar 26, 2025
c81a3ce
drm/amdgpu/pm/swsmu: implement pause workload profile
alexdeucher Mar 26, 2025
50f29ea
drm/amd/display: pause the workload setting in dm
Mar 28, 2025
35a5440
drm/amdgpu: cancel gfx idle work in device suspend for s0ix
alexdeucher Apr 6, 2025
7ba88b5
drm/amd/pm/smu11: Prevent division by zero
Mar 20, 2025
34779e1
drm/amdgpu/mes12: optimize MES pipe FW version fetching
alexdeucher Mar 27, 2025
1595f15
erofs: set error to bio if file-backed IO fails
Apr 8, 2025
d385f15
erofs: add __packed annotation to union(__le16..)
hsiangkao Apr 8, 2025
be45319
erofs: fix encoded extents handling
hsiangkao Apr 8, 2025
f0df00e
x86/cpu: Avoid running off the end of an AMD erratum table
hansendc Apr 9, 2025
9502dd5
smb: client: fix UAF in decryption with multichannel
Apr 9, 2025
e1a453a
tracing: Do not add length to print format in synthetic events
rostedt Apr 7, 2025
16cb6b0
cifs: Fix encoding of SMB1 Session Setup Kerberos Request in non-UNIC…
pali Oct 6, 2024
2424e14
hrtimer: Add missing ACCESS_PRIVATE() for hrtimer::function
covanam Apr 8, 2025
1fac139
x86/ibt: Fix hibernate
Apr 9, 2025
92e250c
timekeeping: Add a lockdep override in tick_freeze()
Apr 4, 2025
9ce7351
cifs: Remove explicit handling of IO_REPARSE_TAG_MOUNT_POINT in inode.c
pali Oct 3, 2024
12193b9
cifs: Improve handling of name surrogate reparse points in reparse.c
pali Oct 3, 2024
56c0bea
cifs: Split parse_reparse_point callback to functions: get buffer and…
pali Oct 14, 2024
ef86ab1
cifs: Fix querying of WSL CHR and BLK reparse points over SMB1
pali Dec 26, 2024
3b07108
Merge tag 'linux_kselftest-fixes-6.15-rc2' of git://git.kernel.org/pu…
torvalds Apr 9, 2025
f40a673
net: phy: move phy_link_change() prior to mdio_bus_phy_may_suspend()
vladimiroltean Apr 7, 2025
fc75ea2
net: phy: allow MDIO bus PM ops to start/stop state machine for phyli…
vladimiroltean Apr 7, 2025
6933cd4
ipv6: Align behavior across nexthops during path selection
idosch Apr 8, 2025
0bb2f7a
net: Fix null-ptr-deref by sock_lock_init_class_and_name() and rmmod.
q2ven Apr 7, 2025
d4bac02
bpf: support SKF_NET_OFF and SKF_LL_OFF on skb frags
wdebruij Apr 8, 2025
fcd7132
selftests/net: test sk_filter support for SKF_NET_OFF on frags
wdebruij Apr 8, 2025
7bbb38f
Merge branch 'support-skf_net_off-and-skf_ll_off-on-skb-frags'
Apr 10, 2025
9afaa16
Merge tag 'drm-intel-fixes-2025-04-09' of https://gitlab.freedesktop.…
airlied Apr 10, 2025
56c283b
smb3: Add defines for two new FileSystemAttributes
smfrench Apr 10, 2025
f5ffef9
erofs: remove duplicate code
Apr 10, 2025
47271a0
Merge tag 'amd-drm-fixes-6.15-2025-04-09' of https://gitlab.freedeskt…
airlied Apr 10, 2025
210db26
drm/rockchip: vop2: Fix interface enable/mux setting of DP1 on rk3588
Mar 12, 2025
1d34597
drm/rockchip: dw_hdmi_qp: Fix io init for dw_hdmi_qp_rockchip_resume
Mar 17, 2025
acea994
vdso: Address variable shadowing in macros
Jump2233 Mar 24, 2025
aabc659
net: ppp: Add bound checking for skb data on ppp_sync_txmung
ArnaudLcm Apr 8, 2025
e042ed9
nft_set_pipapo: fix incorrect avx2 match of 5th field octet
Apr 7, 2025
27eb86e
selftests: netfilter: add test case for recent mismatch bug
Apr 7, 2025
69ddc65
Merge tag 'nf-25-04-10' of git://git.kernel.org/pub/scm/linux/kernel/…
Apr 10, 2025
5d07ab2
spi: fsl-qspi: Fix double cleanup in probe error path
haokexin Apr 10, 2025
82bedbf
spi: fsl-spi: Remove redundant probe error message
haokexin Apr 10, 2025
eaa517b
ethtool: cmis_cdb: Fix incorrect read / write length extension
idosch Apr 9, 2025
b4991c0
Merge tag 'mtd/fixes-for-6.15-rc2' of git://git.kernel.org/pub/scm/li…
torvalds Apr 10, 2025
8f43640
Merge tag 'gpio-fixes-for-v6.15-rc2' of git://git.kernel.org/pub/scm/…
torvalds Apr 10, 2025
a61ec0d
Merge tag 'io_uring-6.15-20250410' of git://git.kernel.dk/linux
torvalds Apr 10, 2025
e4742a8
Merge tag 'block-6.15-20250410' of git://git.kernel.dk/linux
torvalds Apr 10, 2025
2eb959e
Merge tag 'for-linus-6.15a-rc2-tag' of git://git.kernel.org/pub/scm/l…
torvalds Apr 10, 2025
642335f
ext4: don't treat fhandle lookup of ea_inode as FS corruption
thejh Nov 29, 2024
818ad0b
Merge tag 'nvme-6.15-2025-04-10' of git://git.infradead.org/nvme into…
axboe Apr 10, 2025
ab59a86
Merge tag 'net-6.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Apr 10, 2025
1ddb9ad
selftests/bpf: Make res_spin_lock AA test condition stronger
kkdwvd Apr 10, 2025
92b90f7
bpf: Use architecture provided res_smp_cond_load_acquire
kkdwvd Apr 10, 2025
2f41503
bpf: Convert queue_stack map to rqspinlock
kkdwvd Apr 10, 2025
87cb582
objtool: Fix false-positive "ignoring unreachables" warning
jpoimboe Apr 9, 2025
54a012b
Merge tag 'objtool-urgent-2025-04-10' of git://git.kernel.org/pub/scm…
torvalds Apr 10, 2025
ac253a5
Merge tag 'perf-urgent-2025-04-10' of git://git.kernel.org/pub/scm/li…
torvalds Apr 10, 2025
3c9de67
Merge tag 'x86-urgent-2025-04-10' of git://git.kernel.org/pub/scm/lin…
torvalds Apr 10, 2025
3483381
Merge tag 'timers-urgent-2025-04-10' of git://git.kernel.org/pub/scm/…
torvalds Apr 10, 2025
0c7cae1
Merge tag 'irq-urgent-2025-04-10' of git://git.kernel.org/pub/scm/lin…
torvalds Apr 10, 2025
927cec6
Merge tag 'drm-misc-fixes-2025-04-10' of https://gitlab.freedesktop.o…
airlied Apr 10, 2025
485442c
Merge tag 'drm-xe-fixes-2025-04-10' of https://gitlab.freedesktop.org…
airlied Apr 10, 2025
ef77858
Merge tag 'bcachefs-2025-04-10' of git://evilpiepirate.org/bcachefs
torvalds Apr 11, 2025
900241a
Merge tag 'drm-fixes-2025-04-11-1' of https://gitlab.freedesktop.org/…
torvalds Apr 11, 2025
df4bf3f
iommu: Fix crash in report_iommu_fault()
pchelkin91 Apr 8, 2025
548183e
iommu/vt-d: Wire up irq_ack() to irq_move_irq() for posted MSIs
sean-jc Apr 10, 2025
7d8c490
iommu/vt-d: Remove an unnecessary call set_dma_ops()
ptesarik Apr 10, 2025
280e5a3
iommu: Clear iommu-dma ops on cleanup
rmurphy-arm Apr 10, 2025
d9d3ced
iommu/ipmmu-vmsa: Register in a sensible order
rmurphy-arm Mar 20, 2025
99deffc
iommu/exynos: Fix suspend/resume with IDENTITY domain
mszyprow Apr 1, 2025
38e8844
iommu/mediatek: Fix NULL pointer deference in mtk_iommu_device_group
laeyraud Apr 3, 2025
ae4814a
iommu: remove unneeded semicolon
Apr 7, 2025
767e220
iommu/tegra241-cmdqv: Fix warnings due to dmam_free_coherent()
nicolinc Apr 7, 2025
3b607b7
null_blk: Use strscpy() instead of strscpy_pad() in null_add_dev()
toblux Apr 10, 2025
dcc4aca
Merge branches 'acpi-ec' and 'acpi-button'
rafaeljw Apr 11, 2025
7338856
Merge tag 'asoc-fix-v6.15-rc1' of https://git.kernel.org/pub/scm/linu…
tiwai Apr 11, 2025
9b03fa1
Merge tag 's390-6.15-3' of git://git.kernel.org/pub/scm/linux/kernel/…
torvalds Apr 11, 2025
c86e5b5
Merge tag 'acpi-6.15-rc2' of git://git.kernel.org/pub/scm/linux/kerne…
torvalds Apr 11, 2025
023e62c
Merge tag 'iommu-fixes-v6.15-rc1' of git://git.kernel.org/pub/scm/lin…
torvalds Apr 11, 2025
ff88562
Merge tag 'block-6.15-20250411' of git://git.kernel.dk/linux
torvalds Apr 11, 2025
2f3e5ef
Merge tag 'ata-6.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel…
torvalds Apr 11, 2025
e618ee8
Merge tag 'spi-fix-v6.15-rc1' of git://git.kernel.org/pub/scm/linux/k…
torvalds Apr 11, 2025
a650d38
bpf: Convert ringbuf map to rqspinlock
kkdwvd Apr 11, 2025
c8ba3f8
PCI: Run quirk_huawei_pcie_sva() before arm_smmu_probe_device()
zhangfeigao Mar 17, 2025
04a80a3
ftrace: Properly merge notrace hashes
AndybnACT Apr 8, 2025
0ae6b8c
ftrace: Fix accounting of subop hashes
rostedt Apr 9, 2025
a1fc89d
tracing/selftest: Add test to better test subops filtering of functio…
rostedt Apr 9, 2025
5d74992
Merge tag 'pci-v6.15-fixes-1' of git://git.kernel.org/pub/scm/linux/k…
torvalds Apr 11, 2025
3bde70a
Merge tag 'v6.15-rc1-smb3-client-fixes' of git://git.samba.org/sfrenc…
torvalds Apr 11, 2025
ecd5d67
Merge tag 'pwm/for-6.15-rc2-fixes' of git://git.kernel.org/pub/scm/li…
torvalds Apr 12, 2025
485acd2
ftrace: Do not have print_graph_retval() add a newline
rostedt Apr 11, 2025
8d7861a
rv: Fix out-of-bound memory access in rv_is_container_monitor()
covanam Apr 11, 2025
b676ac4
Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi…
torvalds Apr 12, 2025
7cdabaf
Merge tag 'trace-v6.15-rc1' of git://git.kernel.org/pub/scm/linux/ker…
torvalds Apr 12, 2025
ce7e8a6
Documentation: ext4: Add fields to ext4_super_block documentation
tomvierjahn Mar 24, 2025
7e50bbb
ext4: avoid -Wflex-array-member-not-at-end warning
GustavoARSilva Mar 26, 2025
ccad447
ext4: make block validity check resistent to sb bh corruption
OjaswinM Mar 28, 2025
94824ac
ext4: fix off-by-one error in do_split
Apr 4, 2025
051ea72
Merge tag 'fixes-2025-04-13' of git://git.kernel.org/pub/scm/linux/ke…
torvalds Apr 13, 2025
5aaaedb
Merge tag 'ext4_for_linus-6.15-rc2' of git://git.kernel.org/pub/scm/l…
torvalds Apr 13, 2025
004a365
Merge tag 'erofs-for-6.15-rc2-fixes' of git://git.kernel.org/pub/scm/…
torvalds Apr 13, 2025
8ffd015
Linux 6.15-rc2
torvalds Apr 13, 2025
1aa495a
kunit: configs: Add some Cirrus Logic modules to all_tests
rfvirgil Apr 11, 2025
96014d9
ASoC: cs-amp-lib-test: Don't select SND_SOC_CS_AMP_LIB
rfvirgil Apr 11, 2025
a0b887f
firmware: cs_dsp: tests: Depend on FW_CS_DSP rather then enabling it
PacheNico Apr 11, 2025
a9a69c3
ASoC: imx-card: Adjust over allocation of memory in imx_card_parse_of()
WhiteFox-Project Apr 6, 2025
9aff2e8
ASoC: soc-pcm: Fix hw_params() and DAPM widget sequence
Apr 4, 2025
d60007f
ASoC: dt-bindings: Add Loongson-1 AC97 Controller
kelvincheung Apr 9, 2025
0142b45
ASoC: dt-bindings: Add Realtek ALC203 Codec
kelvincheung Apr 9, 2025
1fc55a2
ASoC: loongson: Add Loongson-1 AC97 Driver
kelvincheung Apr 9, 2025
436a3cc
ASoC: ac97: Add DT support
kelvincheung Apr 9, 2025
cf16c64
ASoC: soc-ac97: use new GPIO line value setter callbacks
Apr 8, 2025
6063180
ASoC: ti: davinci-mcasp:: use new GPIO line value setter callbacks
Apr 8, 2025
403dddb
ASoC: codecs: wm8962: use new GPIO line value setter callbacks
Apr 8, 2025
a336078
ASoC: codecs: wm5100: use new GPIO line value setter callbacks
Apr 8, 2025
317349c
ASoC: codecs: rt5677: use new GPIO line value setter callbacks
Apr 8, 2025
a8d4913
ASoC: codecs: wm8996: use new GPIO line value setter callbacks
Apr 8, 2025
346d363
ASoC: codecs: tlv320adc3xxx: use new GPIO line value setter callbacks
Apr 8, 2025
b0cf20b
ASoC: codecs: idt821034: use new GPIO line value setter callbacks
Apr 8, 2025
c849a7c
ASoC: codecs: peb2466: use new GPIO line value setter callbacks
Apr 8, 2025
127c53d
ASoC: codecs: wm8903: use new GPIO line value setter callbacks
Apr 8, 2025
db81f6f
ASoC: codecs: zl38060: use new GPIO line value setter callbacks
Apr 8, 2025
8d2e914
ALSA: hda: cirrus_scodec_test: use new GPIO line value setter callbacks
Apr 8, 2025
f529c91
ASoC: tas2770: Power cycle amp on ISENSE/VSENSE change
marcan Apr 5, 2025
7699892
ASoC: tas2770: Support setting the PDM TX slot
marcan Apr 5, 2025
592ab39
ASoC: tas2764: Reinit cache on part reset
povik Apr 5, 2025
dd50f0e
ASoC: tas2764: Enable main IRQs
marcan Apr 5, 2025
f0aff45
ASoC: tas2764: Raise regmap range maximum
povik Apr 5, 2025
f33b01e
ASoC: tas2764: Apply Apple quirks
povik Apr 5, 2025
ff73e27
ASoC: tas2770: expose die temp to hwmon
chadmed Apr 5, 2025
186dfc8
ASoC: tas2764: expose die temp to hwmon
chadmed Apr 5, 2025
667ebcc
ASoC: dt-bindings: Add bindings for Richtek rt9123
Apr 10, 2025
8bffd24
ASoC: codecs: Add support for Richtek rt9123
Apr 10, 2025
4a046b6
ASoC: dt-bindings: Add bindings for Richtek rt9123p
Apr 10, 2025
38c2585
ASoC: codecs: Add support for Richtek rt9123p
Apr 10, 2025
2c91f33
ASoC: SOF: topology: allocate string for tuples
bardliao Apr 14, 2025
18877fd
ASoC: SOF: topology: don't convert error code
bardliao Apr 14, 2025
d1e70ee
ASoC: soc-acpi: add get_function_tplg_files ops
bardliao Apr 14, 2025
6d5997c
ASoC: SOF: topology: load multiple topologies
bardliao Apr 14, 2025
2fbeff3
ASoC: Intel: add sof_sdw_get_tplg_files ops
bardliao Apr 14, 2025
143b7a8
ASoC: Intel: soc-acpi-intel-lnl-match: set get_function_tplg_files ops
bardliao Apr 14, 2025
d348b41
ASoC: Intel: soc-acpi-intel-arl-match: set get_function_tplg_files ops
bardliao Apr 14, 2025
5a0c4a0
ASoC: Intel: soc-acpi-intel-ptl-match: add get_function_tplg_files ops
bardliao Apr 14, 2025
cf8a4ca
ASoC: Intel: soc-acpi-intel-mtl-match: add get_function_tplg_files ops
bardliao Apr 14, 2025
6d893cf
ASoC: sdw_utils: split asoc_sdw_get_codec_name
bardliao Apr 14, 2025
4f8ef33
ASoC: soc_sdw_utils: skip the endpoint that doesn't present
bardliao Apr 14, 2025
1749125
Fix up building KUnit tests for Cirrus Logic modules
broonie Apr 14, 2025
4aa502d
ASoC: tas27{64,70}: improve support for Apple codec
broonie Apr 14, 2025
416e3bd
ASoC: Add Richtek rt9123 and rt9123p support
broonie Apr 14, 2025
fabb0a1
ASoC: convert GPIO chips to using new value setters
broonie Apr 14, 2025
5865e8c
Add support for Loongson-1 AC97
broonie Apr 14, 2025
2c6b6a3
ASoC: rsnd: use snd_pcm_direction_name()
morimoto Apr 14, 2025
2b4ce99
ASoC: simple-card-utils: fixup dlc->xxx handling for error case
morimoto Apr 14, 2025
46e7ea0
ASoC: cs-amp-lib: Replace offsetof() with struct_size()
toblux Apr 14, 2025
fcdf212
ASoC: cs-amp-lib: Annotate struct cirrus_amp_efi_data with __counted_…
toblux Apr 15, 2025
63ec4ba
ASoC: Add Cirrus and Wolfson headers to ASoC section of MAINTAINERS
rfvirgil Apr 15, 2025
ac03495
ASoC: dt-bindings: Add Cirrus Logic CS48L32 audio DSP
rfvirgil Apr 15, 2025
e2bcbf9
ASoC: cs48l32: Add driver for Cirrus Logic CS48L32 audio DSP
rfvirgil Apr 15, 2025
51f0435
ASoC: cs-amp-lib-test: Use flex_array_size()
rfvirgil Apr 15, 2025
fd7f343
Merge branch 'for-linus' into for-next
tiwai Apr 15, 2025
bbf9d31
ALSA: hda/cirrus_scodec_test: Modernize creation of dummy devices
rfvirgil Apr 15, 2025
c84c801
ASoC: skip the endpoint that doesn't present and
broonie Apr 15, 2025
2af73c8
ASoC: Add codec driver for Cirrus Logic CS48L32 DSP
broonie Apr 15, 2025
813e311
ALSA: hda/tas2781: Create a common header for both spi and i2c tas278…
Shenghao-Ding Apr 16, 2025
d1965f0
ASoC: cs-amp-lib-test: Use faux bus instead of creating a dummy platf…
rfvirgil Apr 16, 2025
91f4ca7
ASoC: rt722: fix pop noise at the beginning of headphone playback
shumingfan Apr 16, 2025
65bd426
ASoC: ak4458: Remove useless return variable
Apr 16, 2025
ba05bc2
ASoC: fsl_rpmsg: Remove useless return variable
Apr 16, 2025
7ed50dc
ASoC: cs48l32: Fix spelling mistake "exceeeds" -> "exceeds"
ColinIanKing Apr 16, 2025
68715cb
ASoC: Intel: sof_sdw: Add NULL check in asoc_sdw_rt_dmic_rtd_init()
WhiteFox-Project Apr 15, 2025
9b62b7a
ASoC: rt722: fix pop noise at the beginning of DMIC recording
shumingfan Apr 16, 2025
4308487
firmware: cs_dsp: Add some sanity-checking to test harness
rfvirgil Apr 16, 2025
0cb1975
ASoC: mediatek: mt8195: Move rt5682 specific dapm routes
Apr 17, 2025
7af317f
ASoC: mediatek: mt8195: Set ETDM1/2 IN/OUT to COMP_DUMMY()
Apr 17, 2025
3046e16
ASoC: mediatek: mt8195: Add mt8195-mt6359 card
Apr 17, 2025
95f6208
ASoC: dt-bindings: mt8195: add compatible mt8195_mt6359
Apr 17, 2025
5b974f5
ASoC: dt-bindings: mt8195: add missing audio routing and link-name
Apr 17, 2025
7603b14
ASoC: mt8195: Add support for MT8395 Radxa NIO 12L
broonie Apr 17, 2025
6070ef6
ASoC: cs48l32: Use modern PM_OPS
nathanchance Apr 18, 2025
f506d45
ASoC: codecs: Remove unused rt566[58]_sel_asrc_clk_src
Apr 20, 2025
9ef2451
ASoC: wm8998: Add Kconfig prompt
Apr 18, 2025
05100d1
ALSA: pcm: Make snd_pcm_lib_malloc_pages() debug message say "allocate"
wens Apr 21, 2025
171bb51
ALSA: usb-audio: Add Pioneer DJ DJM-V10 support
Apr 21, 2025
0c9f824
ASoC: dt-bindings: fsl,mqs: Document audio graph port
TE-N-ShengjiuWang Apr 18, 2025
fd55908
ASoC: dt-bindings: add schema for rockchip SAI controllers
Apr 10, 2025
cc78d1e
ASoC: rockchip: add Serial Audio Interface (SAI) driver
Apr 10, 2025
6d7ee6d
ASoC: adau7118: Allow dsp_a mode
Apr 11, 2025
70ad2e6
ASoC: cs42l43: Disable headphone clamps during type detection
charleskeepax Apr 23, 2025
076f322
Add RK3576 SAI Audio Controller Support
broonie Apr 23, 2025
f28aa37
ALSA: HDA: Add Zhaoxin HDMI Controller and Codec support
Apr 23, 2025
da6d7db
ASoC: soc-acpi-intel-ptl-match: add empty item to ptl_cs42l43_l3[]
bardliao Apr 23, 2025
5063eb3
ALSA: sonicvibes: Use pure devres PCI
Apr 23, 2025
6452c6d
ALSA: rme96: Use pure devres PCI
Apr 23, 2025
92281a6
ALSA: rme32: Use pure devres PCI
Apr 23, 2025
2707ddc
ALSA: ens1370: Use pure devres PCI
Apr 23, 2025
9512fa6
ALSA: cmipci: Use pure devres PCI
Apr 23, 2025
a205115
ALSA: via82: Use pure devres PCI
Apr 23, 2025
5f8a491
ALSA: sis7019: Use pure devres PCI
Apr 23, 2025
c07e644
ALSA: intel8x: Use pure devres PCI
Apr 23, 2025
bf09f91
ALSA: fm801: Use pure devres PCI
Apr 23, 2025
c76d669
ALSA: es19x8: Use pure devres PCI
Apr 23, 2025
9dcc434
ALSA: azt3328: Use pure devres PCI
Apr 23, 2025
e66819c
ALSA: als: Use pure devres PCI
Apr 23, 2025
312ef97
ALSA: oxygen: Use pure devres PCI
Apr 23, 2025
abef027
ALSA: lx6464es: Use pure devres PCI
Apr 23, 2025
20db879
ALSA: vx222: Use pure devres PCI
Apr 23, 2025
c553c41
ALSA: trident: Use pure devres PCI
Apr 23, 2025
9c7f2b5
ALSA: rme9652: Use pure devres PCI
Apr 23, 2025
b15fde2
ALSA: ymfpci: Use pure devres PCI
Apr 23, 2025
aa37a26
ALSA: riptide: Use pure devres PCI
Apr 23, 2025
87e46c2
ALSA: nm256: Use pure devres PCI
Apr 23, 2025
dbaa14d
ALSA: ice: Use pure devres PCI
Apr 23, 2025
ed99513
ALSA: emu10k1: Use pure devres PCI
Apr 23, 2025
6012022
ALSA: echoaudio: Use pure devres PCI
Apr 23, 2025
ffa194e
ALSA: cs5535: Use pure devres PCI
Apr 23, 2025
9d7f24e
ALSA: cs46xx: Use pure devres PCI
Apr 23, 2025
385de12
ALSA: ca0106: Use pure devres PCI
Apr 23, 2025
112b338
ALSA: ali5451: Use pure devres PCI
Apr 23, 2025
889dbe6
ALSA: maestro3: Use pure devres PCI
Apr 23, 2025
c1b0f51
ASoC: renesas: rz-ssi: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
claudiubeznea Apr 10, 2025
b194e82
ASoC: codec: tpa6130a2: Sort headers alphabetically
MrVan Apr 14, 2025
63a9362
ASoC: codec: tpa6130a2: Remove tpa6130a2_platform_data
MrVan Apr 14, 2025
f198b6b
ASoC: codec: tpa6130a2: Convert to GPIO descriptors
MrVan Apr 14, 2025
d1407c9
ASoC: codecs: wcd938x: fix mux error handling
jhovold Apr 15, 2025
e358e01
ASoC: codecs: wcd938x: drop unnecessary mux flag assignment
jhovold Apr 15, 2025
402dda2
ASoC: Merge up fixes
broonie Apr 24, 2025
171eb6f
ASoC: meson: meson-card-utils: use of_property_present() for DT parsing
xdarklight Apr 19, 2025
3b41574
ASoC: Intel: avs: Fix NULL pointer dereference
Apr 24, 2025
cce73cf
MAINTAINERS: ASoC: Simplify references to Cirrus Logic include files
rfvirgil Apr 23, 2025
c4887bd
spi: sh-msiof: use dev in sh_msiof_spi_probe()
morimoto Apr 17, 2025
cf06681
spi: sh-msiof: ignore driver probing if it was MSIOF Sound
morimoto Apr 17, 2025
4814a8e
ASoC: fsl: don't set link->platform if not needed
morimoto Apr 14, 2025
0787a08
ASoC: starfive: Use max() to simplify code in jh7110_tdm_syncdiv()
toblux Apr 24, 2025
ba85883
ASoC: amd: acp: Fix NULL pointer deref on acp resume path
Venkata-Prasad-Potturu Apr 25, 2025
6d9b641
ASoC: amd: acp: Fix NULL pointer deref in acp_i2s_set_tdm_slot
Venkata-Prasad-Potturu Apr 25, 2025
138e6da
ASoC: amd: acp: Fix devm_snd_soc_register_card(acp-pdm-mach) failure
Venkata-Prasad-Potturu Apr 25, 2025
a549b92
ASoC: Intel: bytcr_rt5640: Add DMI quirk for Acer Aspire SW3-013
tiwai Apr 20, 2025
b009011
ASoC: codecs: wcd938x: fix mux error handling
broonie Apr 25, 2025
c27c313
ASoC: codec: tpa6130a2: Convert to GPIO descriptors
broonie Apr 25, 2025
7490273
dt-bindings: renesas,sh-msiof: Add MSIOF I2S Sound support
morimoto Apr 17, 2025
ce6949b
ASoC: renesas: rsnd: allow to use ADG as standalone
morimoto Apr 17, 2025
a714b31
ASoC: renesas: rsnd: care BRGA/BRGB select in rsnd_adg_clk_enable()
morimoto Apr 17, 2025
0cc8884
ASoC: renesas: rsnd: enable to use "adg" clock
morimoto Apr 17, 2025
c61caec
ASoC: renesas: add MSIOF sound support
morimoto Apr 17, 2025
822ecda
ASoC: add Renesas MSIOF sound driver
broonie Apr 26, 2025
a9bfaf8
Merge remote-tracking branch 'asoc/for-6.16' into asoc-next
broonie Apr 26, 2025
bdd9ea9
ALSA: hda/hda_cs_dsp_ctl: Delete hda_cs_dsp_ctl module
rfvirgil Apr 24, 2025
916157b
Merge remote-tracking branch 'takashi/for-next' into sound/upstream-2…
bardliao Apr 29, 2025
4cc9c1a
Merge remote-tracking branch 'regmap/for-next' into sound/upstream-20…
bardliao Apr 29, 2025
8d6fab9
Merge branch 'sound/upstream-20250429' into merge/sound-upstream-2025…
bardliao Apr 29, 2025
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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions Documentation/admin-guide/hw-vuln/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@ are configurable at compile, boot or run time.
srso
gather_data_sampling
reg-file-data-sampling
rsb
268 changes: 268 additions & 0 deletions Documentation/admin-guide/hw-vuln/rsb.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,268 @@
.. SPDX-License-Identifier: GPL-2.0

=======================
RSB-related mitigations
=======================

.. warning::
Please keep this document up-to-date, otherwise you will be
volunteered to update it and convert it to a very long comment in
bugs.c!

Since 2018 there have been many Spectre CVEs related to the Return Stack
Buffer (RSB) (sometimes referred to as the Return Address Stack (RAS) or
Return Address Predictor (RAP) on AMD).

Information about these CVEs and how to mitigate them is scattered
amongst a myriad of microarchitecture-specific documents.

This document attempts to consolidate all the relevant information in
once place and clarify the reasoning behind the current RSB-related
mitigations. It's meant to be as concise as possible, focused only on
the current kernel mitigations: what are the RSB-related attack vectors
and how are they currently being mitigated?

It's *not* meant to describe how the RSB mechanism operates or how the
exploits work. More details about those can be found in the references
below.

Rather, this is basically a glorified comment, but too long to actually
be one. So when the next CVE comes along, a kernel developer can
quickly refer to this as a refresher to see what we're actually doing
and why.

At a high level, there are two classes of RSB attacks: RSB poisoning
(Intel and AMD) and RSB underflow (Intel only). They must each be
considered individually for each attack vector (and microarchitecture
where applicable).

----

RSB poisoning (Intel and AMD)
=============================

SpectreRSB
~~~~~~~~~~

RSB poisoning is a technique used by SpectreRSB [#spectre-rsb]_ where
an attacker poisons an RSB entry to cause a victim's return instruction
to speculate to an attacker-controlled address. This can happen when
there are unbalanced CALLs/RETs after a context switch or VMEXIT.

* All attack vectors can potentially be mitigated by flushing out any
poisoned RSB entries using an RSB filling sequence
[#intel-rsb-filling]_ [#amd-rsb-filling]_ when transitioning between
untrusted and trusted domains. But this has a performance impact and
should be avoided whenever possible.

.. DANGER::
**FIXME**: Currently we're flushing 32 entries. However, some CPU
models have more than 32 entries. The loop count needs to be
increased for those. More detailed information is needed about RSB
sizes.

* On context switch, the user->user mitigation requires ensuring the
RSB gets filled or cleared whenever IBPB gets written [#cond-ibpb]_
during a context switch:

* AMD:
On Zen 4+, IBPB (or SBPB [#amd-sbpb]_ if used) clears the RSB.
This is indicated by IBPB_RET in CPUID [#amd-ibpb-rsb]_.

On Zen < 4, the RSB filling sequence [#amd-rsb-filling]_ must be
always be done in addition to IBPB [#amd-ibpb-no-rsb]_. This is
indicated by X86_BUG_IBPB_NO_RET.

* Intel:
IBPB always clears the RSB:

"Software that executed before the IBPB command cannot control
the predicted targets of indirect branches executed after the
command on the same logical processor. The term indirect branch
in this context includes near return instructions, so these
predicted targets may come from the RSB." [#intel-ibpb-rsb]_

* On context switch, user->kernel attacks are prevented by SMEP. User
space can only insert user space addresses into the RSB. Even
non-canonical addresses can't be inserted due to the page gap at the
end of the user canonical address space reserved by TASK_SIZE_MAX.
A SMEP #PF at instruction fetch prevents the kernel from speculatively
executing user space.

* AMD:
"Finally, branches that are predicted as 'ret' instructions get
their predicted targets from the Return Address Predictor (RAP).
AMD recommends software use a RAP stuffing sequence (mitigation
V2-3 in [2]) and/or Supervisor Mode Execution Protection (SMEP)
to ensure that the addresses in the RAP are safe for
speculation. Collectively, we refer to these mitigations as "RAP
Protection"." [#amd-smep-rsb]_

* Intel:
"On processors with enhanced IBRS, an RSB overwrite sequence may
not suffice to prevent the predicted target of a near return
from using an RSB entry created in a less privileged predictor
mode. Software can prevent this by enabling SMEP (for
transitions from user mode to supervisor mode) and by having
IA32_SPEC_CTRL.IBRS set during VM exits." [#intel-smep-rsb]_

* On VMEXIT, guest->host attacks are mitigated by eIBRS (and PBRSB
mitigation if needed):

* AMD:
"When Automatic IBRS is enabled, the internal return address
stack used for return address predictions is cleared on VMEXIT."
[#amd-eibrs-vmexit]_

* Intel:
"On processors with enhanced IBRS, an RSB overwrite sequence may
not suffice to prevent the predicted target of a near return
from using an RSB entry created in a less privileged predictor
mode. Software can prevent this by enabling SMEP (for
transitions from user mode to supervisor mode) and by having
IA32_SPEC_CTRL.IBRS set during VM exits. Processors with
enhanced IBRS still support the usage model where IBRS is set
only in the OS/VMM for OSes that enable SMEP. To do this, such
processors will ensure that guest behavior cannot control the
RSB after a VM exit once IBRS is set, even if IBRS was not set
at the time of the VM exit." [#intel-eibrs-vmexit]_

Note that some Intel CPUs are susceptible to Post-barrier Return
Stack Buffer Predictions (PBRSB) [#intel-pbrsb]_, where the last
CALL from the guest can be used to predict the first unbalanced RET.
In this case the PBRSB mitigation is needed in addition to eIBRS.

AMD RETBleed / SRSO / Branch Type Confusion
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

On AMD, poisoned RSB entries can also be created by the AMD RETBleed
variant [#retbleed-paper]_ [#amd-btc]_ or by Speculative Return Stack
Overflow [#amd-srso]_ (Inception [#inception-paper]_). The kernel
protects itself by replacing every RET in the kernel with a branch to a
single safe RET.

----

RSB underflow (Intel only)
==========================

RSB Alternate (RSBA) ("Intel Retbleed")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Some Intel Skylake-generation CPUs are susceptible to the Intel variant
of RETBleed [#retbleed-paper]_ (Return Stack Buffer Underflow
[#intel-rsbu]_). If a RET is executed when the RSB buffer is empty due
to mismatched CALLs/RETs or returning from a deep call stack, the branch
predictor can fall back to using the Branch Target Buffer (BTB). If a
user forces a BTB collision then the RET can speculatively branch to a
user-controlled address.

* Note that RSB filling doesn't fully mitigate this issue. If there
are enough unbalanced RETs, the RSB may still underflow and fall back
to using a poisoned BTB entry.

* On context switch, user->user underflow attacks are mitigated by the
conditional IBPB [#cond-ibpb]_ on context switch which effectively
clears the BTB:

* "The indirect branch predictor barrier (IBPB) is an indirect branch
control mechanism that establishes a barrier, preventing software
that executed before the barrier from controlling the predicted
targets of indirect branches executed after the barrier on the same
logical processor." [#intel-ibpb-btb]_

* On context switch and VMEXIT, user->kernel and guest->host RSB
underflows are mitigated by IBRS or eIBRS:

* "Enabling IBRS (including enhanced IBRS) will mitigate the "RSBU"
attack demonstrated by the researchers. As previously documented,
Intel recommends the use of enhanced IBRS, where supported. This
includes any processor that enumerates RRSBA but not RRSBA_DIS_S."
[#intel-rsbu]_

However, note that eIBRS and IBRS do not mitigate intra-mode attacks.
Like RRSBA below, this is mitigated by clearing the BHB on kernel
entry.

As an alternative to classic IBRS, call depth tracking (combined with
retpolines) can be used to track kernel returns and fill the RSB when
it gets close to being empty.

Restricted RSB Alternate (RRSBA)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Some newer Intel CPUs have Restricted RSB Alternate (RRSBA) behavior,
which, similar to RSBA described above, also falls back to using the BTB
on RSB underflow. The only difference is that the predicted targets are
restricted to the current domain when eIBRS is enabled:

* "Restricted RSB Alternate (RRSBA) behavior allows alternate branch
predictors to be used by near RET instructions when the RSB is
empty. When eIBRS is enabled, the predicted targets of these
alternate predictors are restricted to those belonging to the
indirect branch predictor entries of the current prediction domain.
[#intel-eibrs-rrsba]_

When a CPU with RRSBA is vulnerable to Branch History Injection
[#bhi-paper]_ [#intel-bhi]_, an RSB underflow could be used for an
intra-mode BTI attack. This is mitigated by clearing the BHB on
kernel entry.

However if the kernel uses retpolines instead of eIBRS, it needs to
disable RRSBA:

* "Where software is using retpoline as a mitigation for BHI or
intra-mode BTI, and the processor both enumerates RRSBA and
enumerates RRSBA_DIS controls, it should disable this behavior."
[#intel-retpoline-rrsba]_

----

References
==========

.. [#spectre-rsb] `Spectre Returns! Speculation Attacks using the Return Stack Buffer <https://arxiv.org/pdf/1807.07940.pdf>`_

.. [#intel-rsb-filling] "Empty RSB Mitigation on Skylake-generation" in `Retpoline: A Branch Target Injection Mitigation <https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/retpoline-branch-target-injection-mitigation.html#inpage-nav-5-1>`_

.. [#amd-rsb-filling] "Mitigation V2-3" in `Software Techniques for Managing Speculation <https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/software-techniques-for-managing-speculation.pdf>`_

.. [#cond-ibpb] Whether IBPB is written depends on whether the prev and/or next task is protected from Spectre attacks. It typically requires opting in per task or system-wide. For more details see the documentation for the ``spectre_v2_user`` cmdline option in Documentation/admin-guide/kernel-parameters.txt.

.. [#amd-sbpb] IBPB without flushing of branch type predictions. Only exists for AMD.

.. [#amd-ibpb-rsb] "Function 8000_0008h -- Processor Capacity Parameters and Extended Feature Identification" in `AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions <https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/24594.pdf>`_. SBPB behaves the same way according to `this email <https://lore.kernel.org/5175b163a3736ca5fd01cedf406735636c99a>`_.

.. [#amd-ibpb-no-rsb] `Spectre Attacks: Exploiting Speculative Execution <https://comsec.ethz.ch/wp-content/files/ibpb_sp25.pdf>`_

.. [#intel-ibpb-rsb] "Introduction" in `Post-barrier Return Stack Buffer Predictions / CVE-2022-26373 / INTEL-SA-00706 <https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/post-barrier-return-stack-buffer-predictions.html>`_

.. [#amd-smep-rsb] "Existing Mitigations" in `Technical Guidance for Mitigating Branch Type Confusion <https://www.amd.com/content/dam/amd/en/documents/resources/technical-guidance-for-mitigating-branch-type-confusion.pdf>`_

.. [#intel-smep-rsb] "Enhanced IBRS" in `Indirect Branch Restricted Speculation <https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/indirect-branch-restricted-speculation.html>`_

.. [#amd-eibrs-vmexit] "Extended Feature Enable Register (EFER)" in `AMD64 Architecture Programmer's Manual Volume 2: System Programming <https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/24593.pdf>`_

.. [#intel-eibrs-vmexit] "Enhanced IBRS" in `Indirect Branch Restricted Speculation <https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/indirect-branch-restricted-speculation.html>`_

.. [#intel-pbrsb] `Post-barrier Return Stack Buffer Predictions / CVE-2022-26373 / INTEL-SA-00706 <https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/post-barrier-return-stack-buffer-predictions.html>`_

.. [#retbleed-paper] `RETBleed: Arbitrary Speculative Code Execution with Return Instruction <https://comsec.ethz.ch/wp-content/files/retbleed_sec22.pdf>`_

.. [#amd-btc] `Technical Guidance for Mitigating Branch Type Confusion <https://www.amd.com/content/dam/amd/en/documents/resources/technical-guidance-for-mitigating-branch-type-confusion.pdf>`_

.. [#amd-srso] `Technical Update Regarding Speculative Return Stack Overflow <https://www.amd.com/content/dam/amd/en/documents/corporate/cr/speculative-return-stack-overflow-whitepaper.pdf>`_

.. [#inception-paper] `Inception: Exposing New Attack Surfaces with Training in Transient Execution <https://comsec.ethz.ch/wp-content/files/inception_sec23.pdf>`_

.. [#intel-rsbu] `Return Stack Buffer Underflow / Return Stack Buffer Underflow / CVE-2022-29901, CVE-2022-28693 / INTEL-SA-00702 <https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/return-stack-buffer-underflow.html>`_

.. [#intel-ibpb-btb] `Indirect Branch Predictor Barrier' <https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/indirect-branch-predictor-barrier.html>`_

.. [#intel-eibrs-rrsba] "Guidance for RSBU" in `Return Stack Buffer Underflow / Return Stack Buffer Underflow / CVE-2022-29901, CVE-2022-28693 / INTEL-SA-00702 <https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/return-stack-buffer-underflow.html>`_

.. [#bhi-paper] `Branch History Injection: On the Effectiveness of Hardware Mitigations Against Cross-Privilege Spectre-v2 Attacks <http://download.vusec.net/papers/bhi-spectre-bhb_sec22.pdf>`_

.. [#intel-bhi] `Branch History Injection and Intra-mode Branch Target Injection / CVE-2022-0001, CVE-2022-0002 / INTEL-SA-00598 <https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/branch-history-injection.html>`_

.. [#intel-retpoline-rrsba] "Retpoline" in `Branch History Injection and Intra-mode Branch Target Injection / CVE-2022-0001, CVE-2022-0002 / INTEL-SA-00598 <https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/branch-history-injection.html>`_
5 changes: 1 addition & 4 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1407,18 +1407,15 @@
earlyprintk=serial[,0x...[,baudrate]]
earlyprintk=ttySn[,baudrate]
earlyprintk=dbgp[debugController#]
earlyprintk=mmio32,membase[,{nocfg|baudrate}]
earlyprintk=pciserial[,force],bus:device.function[,{nocfg|baudrate}]
earlyprintk=xdbc[xhciController#]
earlyprintk=bios
earlyprintk=mmio,membase[,{nocfg|baudrate}]

earlyprintk is useful when the kernel crashes before
the normal console is initialized. It is not enabled by
default because it has some cosmetic problems.

Only 32-bit memory addresses are supported for "mmio"
and "pciserial" devices.

Use "nocfg" to skip UART configuration, assume
BIOS/firmware has configured UART correctly.

Expand Down
Loading
Loading