Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
3f8ad41
wifi: brcmfmac: fix crash while sending Action Frames in standalone A…
gokulkumar-ifx Oct 13, 2025
4da351f
fbcon: Add defensive coding to logo loader
6by9 Oct 13, 2025
be50b70
video: fbdev: simplefb: Add b8g8r8 and b5g6r5 formats
6by9 Oct 20, 2025
831ef26
media: i2c: Modify the datatype of PDAF data in the arducam_64mp driver
Oct 17, 2025
391c2e3
drivers: pcie: Hailo: Remove Hailo PCIe driver
naushir Sep 30, 2025
2c6e590
drm/xe/guc: Check GuC running state before deregistering exec queue
ShuichengLin Oct 10, 2025
dc15450
rust: cfi: only 64-bit arm and x86 support CFI_CLANG
ConchuOD Sep 8, 2025
e15605b
smb: client: Fix refcount leak for cifs_sb_tlink
sfu2 Oct 16, 2025
4772e7f
slab: reset slab->obj_ext when freeing and it is OBJEXTS_ALLOC_FAIL
GeHao01994 Oct 15, 2025
d6cf132
r8152: add error handling in rtl8152_driver_init
Oct 11, 2025
40bf367
f2fs: fix wrong block mapping for multi-devices
Oct 7, 2025
9f57388
jbd2: ensure that all ongoing I/O complete before freeing blocks
zhangyi089 Sep 16, 2025
5b7b9a1
ext4: wait for ongoing I/O to complete before freeing blocks
zhangyi089 Sep 16, 2025
de98526
ext4: detect invalid INLINE_DATA + EXTENTS flag combination
deepanshu406 Sep 30, 2025
d2d3902
btrfs: fix clearing of BTRFS_FS_RELOC_RUNNING if relocation already r…
fdmanana Sep 24, 2025
2b039c5
btrfs: fix memory leak on duplicated memory in the qgroup assign ioctl
mssola Sep 25, 2025
376b9f4
btrfs: fix incorrect readahead expansion length
boryas Oct 1, 2025
187333e
btrfs: fix memory leaks when rejecting a non SINGLE data profile with…
mssola Oct 8, 2025
3fdcfd9
btrfs: do not assert we found block group item when creating free spa…
fdmanana Oct 1, 2025
52eb720
can: gs_usb: gs_make_candev(): populate net_device->dev_port
CoelacanthusHex Sep 30, 2025
cc87d3d
can: gs_usb: increase max interface to U8_MAX
CoelacanthusHex Sep 30, 2025
8bc4a8d
cifs: parse_dfs_referrals: prevent oob on malformed input
ekorenevsky Oct 13, 2025
e5e3eb2
drm/sched: Fix potential double free in drm_sched_job_add_resv_depend…
Oct 15, 2025
e4937f3
drm/amdgpu: use atomic functions with memory barriers for vm fault info
2045gemini Oct 8, 2025
e591482
drm/amdgpu: fix gfx12 mes packet status return check
jokim-amd Oct 9, 2025
6ddc602
perf/core: Fix address filter match with backing files
ahunter6 Oct 13, 2025
7024b11
perf/core: Fix MMAP event path names with backing files
ahunter6 Oct 13, 2025
eacc4fc
perf/core: Fix MMAP2 event device with backing files
ahunter6 Oct 13, 2025
03fe164
drm/amd: Check whether secure display TA loaded successfully
superm1 Sep 25, 2025
c472088
irqdomain: cdx: Switch to of_fwnode_handle()
Oct 18, 2025
2e24713
cdx: Fix device node reference leak in cdx_msi_domain_init
Yuuoniy Oct 18, 2025
3e7b89e
drm/msm/a6xx: Fix PDC sleep sequence
akhilpo-qcom Oct 18, 2025
f0b75b4
media: nxp: imx8-isi: Drop unused argument to mxc_isi_channel_chain()
pinchartl Oct 17, 2025
e8b5f4d
media: nxp: imx8-isi: m2m: Fix streaming cleanup on release
Oct 17, 2025
2812c6b
drm/exynos: exynos7_drm_decon: fix uninitialized crtc reference in fu…
Oct 18, 2025
a02e841
drm/exynos: exynos7_drm_decon: properly clear channels during bind
Oct 18, 2025
7138de9
drm/exynos: exynos7_drm_decon: remove ctx->suspended
Oct 18, 2025
1a3949c
usb: gadget: Store endpoint pointer in usb_request
Oct 17, 2025
56b5f34
usb: gadget: Introduce free_usb_request helper
Oct 17, 2025
d3fe714
usb: gadget: f_ncm: Refactor bind path to use __free()
Oct 17, 2025
201a66d
usb: gadget: f_acm: Refactor bind path to use __free()
Oct 18, 2025
15b9faf
usb: gadget: f_ecm: Refactor bind path to use __free()
Oct 18, 2025
380353c
usb: gadget: f_rndis: Refactor bind path to use __free()
Oct 18, 2025
24883bf
cpufreq: CPPC: Avoid using CPUFREQ_ETERNAL as transition delay
rafaeljw Oct 18, 2025
df23d9a
Revert "io_uring/rw: drop -EOPNOTSUPP check in __io_complete_rw_commo…
axboe Oct 13, 2025
f32fea4
HID: multitouch: fix sticky fingers
Oct 8, 2025
39563a8
dax: skip read lock assertion for read-only filesystems
YuezhangMo Sep 30, 2025
b4851ba
can: m_can: m_can_plat_remove(): add missing pm_runtime_disable()
marckleinebudde Aug 6, 2025
4411ca4
can: m_can: m_can_handle_state_errors(): fix CAN state transition to …
marckleinebudde Aug 6, 2025
df689d7
can: m_can: m_can_chip_config(): bring up interface in correct state
marckleinebudde Aug 6, 2025
6219594
can: m_can: add deinit callback
sknsean Nov 22, 2024
b7f989b
can: m_can: call deinit/init callback when going into suspend/resume
sknsean Nov 22, 2024
7ed47a3
can: m_can: fix CAN state in system PM
marckleinebudde Aug 12, 2025
824be3d
net: dlink: handle dma_map_single() failure properly
Cruzer-S Oct 9, 2025
34143a2
doc: fix seg6_flowlabel path
NicolasDichtel Oct 10, 2025
599f9fa
r8169: fix packet truncation after S4 resume on RTL8168H/RTL8111H
Oct 9, 2025
eeb4345
net/ip6_tunnel: Prevent perpetual tunnel growth
0x7f454c46 Oct 9, 2025
4f4af83
amd-xgbe: Avoid spurious link down messages during interface toggle
RajuRangoju Oct 10, 2025
814ec62
tcp: fix tcp_tso_should_defer() vs large RTT
edumazet Oct 11, 2025
4602b8c
ksmbd: fix recursive locking in RPC handle list access
Oct 15, 2025
4968328
tg3: prevent use of uninitialized remote_adv and local_adv variables
jtstrs Oct 14, 2025
b1cf131
tls: trim encrypted message to match the plaintext on short splice
qsn Oct 14, 2025
0e2e8c4
tls: wait for async encrypt in case of error during latter iterations…
qsn Oct 14, 2025
bea15cd
tls: always set record_type in tls_process_cmsg
qsn Oct 14, 2025
39dec4e
tls: wait for pending async decryptions if tls_strp_msg_hold fails
qsn Oct 14, 2025
bbcf2da
tls: don't rely on tx_work during send()
qsn Oct 14, 2025
95af085
netdevsim: set the carrier when the device goes up
leitao Oct 14, 2025
f30f006
net: usb: lan78xx: Add error handling to lan78xx_init_mac_address
olerem Dec 9, 2024
d8a3a53
net: usb: lan78xx: fix use of improperly initialized dev->chipid in l…
CraftyChimera Oct 13, 2025
5a83309
drm/panthor: Ensure MCU is disabled on suspend
Oct 8, 2025
3fc8710
nvme-multipath: Skip nr_active increments in RETRY disposition
amitbchaudhary Sep 26, 2025
d694f80
riscv: kprobes: Fix probe address validation
Vogtinator Sep 10, 2025
e2a7c66
drm/bridge: lt9211: Drop check for last nibble of version register
Oct 11, 2025
70a65e2
ASoC: codecs: Fix gain setting ranges for Renesas IDT821034 codec
chleroy Oct 9, 2025
8ed3d6c
ASoC: nau8821: Cancel jdet_work before handling jack ejection
cristicc Oct 3, 2025
129cef0
ASoC: nau8821: Generalize helper to clear IRQ status
cristicc Oct 3, 2025
af66058
ASoC: nau8821: Add DMI quirk to bypass jack debounce circuit
cristicc Oct 3, 2025
657e8f9
drm/i915/guc: Skip communication warning on reset in progress
zhanjun Sep 29, 2025
90653d9
drm/amdgpu: add ip offset support for cyan skillfish
alexdeucher Jun 27, 2025
0a77caa
drm/amdgpu: add support for cyan skillfish without IP discovery
alexdeucher Jun 27, 2025
87b634c
drm/amdgpu: fix handling of harvesting for ip_discovery firmware
alexdeucher Sep 26, 2025
e4628ad
drm/amd/powerplay: Fix CIK shutdown temperature
Oct 13, 2025
33fee60
drm/draw: fix color truncation in drm_draw_fill24
WallaceIT Oct 3, 2025
8fecfa1
drm/rockchip: vop2: use correct destination rectangle height check
aloktiwa Oct 12, 2025
cb4c843
sched/fair: Fix pelt lost idle time detection
vingu-linaro Oct 8, 2025
e15f6ac
ALSA: firewire: amdtp-stream: fix enum kernel-doc warnings
rddunlap Oct 14, 2025
646868e
accel/qaic: Fix bootlog initialization ordering
quic-jhugo Oct 7, 2025
551f1df
accel/qaic: Treat remaining == 0 as error in find_and_map_user_pages()
Oct 7, 2025
21ba044
accel/qaic: Synchronize access to DBC request queue head & tail pointer
Oct 7, 2025
c1bcd72
selftests/bpf: make arg_parsing.c more robust to crashes
anakryiko Oct 14, 2025
bba7208
ALSA: usb-audio: Fix NULL pointer deference in try_to_register_card
Radon10043 Oct 15, 2025
5600240
HID: hid-input: only ignore 0 battery events for digitizers
dtor Oct 15, 2025
9ab3e03
HID: multitouch: fix name of Stylus input devices
Oct 8, 2025
095d692
ASoC: amd/sdw_utils: avoid NULL deref when devm_kasprintf() fails
Oct 15, 2025
2a87a1c
selftests: arg_parsing: Ensure data is flushed to disk before reading.
higuoxing Oct 16, 2025
f3fe1ab
nvme/tcp: handle tls partially sent records in write_space()
twilfredo Oct 10, 2025
586c75d
hfsplus: fix slab-out-of-bounds read in hfsplus_strcasecmp()
dubeyko Sep 19, 2025
ab0f805
xfs: rename the old_crc variable in xlog_recover_process
Oct 20, 2025
9909b28
xfs: fix log CRC mismatches between i386 and other architectures
Oct 20, 2025
f9ad5c7
phy: cdns-dphy: Store hs_clk_rate and return it
tomba Oct 20, 2025
4d1422b
phy: cadence: cdns-dphy: Fix PLL lock and O_CMN_READY polling
Oct 20, 2025
69a837b
PM: runtime: Add new devm functions
Oct 20, 2025
29c57a6
iio: imu: inv_icm42600: Simplify pm_runtime setup
sknsean Oct 20, 2025
7e708db
iio: imu: inv_icm42600: Avoid configuring if already pm_runtime suspe…
sknsean Oct 20, 2025
434b399
nfsd: Use correct error code when decoding extents
sbashiro Oct 20, 2025
5def53c
nfsd: Drop dprintk in blocklayout xdr functions
sbashiro Oct 20, 2025
47c6099
NFSD: Rework encoding and decoding of nfsd4_deviceid
sbashiro Oct 20, 2025
18eee64
NFSD: Minor cleanup in layoutcommit processing
sbashiro Oct 20, 2025
da68bc5
NFSD: Implement large extent array support in pNFS
sbashiro Oct 20, 2025
c33da54
NFSD: Fix last write offset handling in layoutcommit
sbashiro Oct 20, 2025
e9fd43b
wifi: rtw89: avoid possible TX wait initialization race
pchelkin91 Oct 20, 2025
88ad397
xfs: use deferred intent items for reaping crosslinked blocks
Oct 20, 2025
fd81963
padata: Reset next CPU when reorder sequence wraps around
leonshaw Oct 20, 2025
069e7bb
md/raid0: Handle bio_split() errors
johnpgarry Oct 20, 2025
74dc8c2
md/raid1: Handle bio_split() errors
johnpgarry Oct 20, 2025
2d24bf9
md/raid10: Handle bio_split() errors
johnpgarry Oct 20, 2025
78a2d39
md: fix mssing blktrace bio split events
YuKuai-huawei Oct 20, 2025
12e3db9
x86/resctrl: Refactor resctrl_arch_rmid_read()
babumoger Oct 20, 2025
9ec6939
x86/resctrl: Fix miscount of bandwidth event when reactivating previo…
babumoger Oct 20, 2025
dc63d87
d_alloc_parallel(): set DCACHE_PAR_LOOKUP earlier
Oct 20, 2025
620f3b0
vfs: Don't leak disconnected dentries on umount
jankara Oct 20, 2025
fb151d8
PCI: Add PCI_VDEVICE_SUB helper macro
pkwapuli Oct 20, 2025
8a661d6
ixgbevf: Add support for Intel(R) E610 device
pkwapuli Oct 20, 2025
68bfddd
ixgbevf: fix getting link speed data for E610 devices
jjagielsk Oct 20, 2025
bf58011
ixgbevf: fix mailbox API compatibility by negotiating supported features
jjagielsk Oct 20, 2025
f620d9b
tcp: convert to dev_net_rcu()
edumazet Oct 20, 2025
bcdbf4d
tcp: cache RTAX_QUICKACK metric in a hot cache line
edumazet Oct 20, 2025
8f00167
net: dst: add four helpers to annotate data-races around dst->dev
edumazet Oct 20, 2025
95d4308
ipv4: adopt dst_dev, skb_dst_dev and skb_dst_dev_net[_rcu]
edumazet Oct 20, 2025
4388b7f
net: Add locking to protect skb->dev access in ip_output
Oct 20, 2025
c159590
mptcp: Call dst_release() in mptcp_active_enable().
q2ven Oct 20, 2025
ad16235
mptcp: Use __sk_dst_get() and dst_dev_rcu() in mptcp_active_enable().
q2ven Oct 20, 2025
963f223
mptcp: reset blackhole on success with non-loopback ifaces
matttbe Oct 20, 2025
e4d2a1d
phy: cadence: cdns-dphy: Update calibration wait time for startup sta…
Oct 21, 2025
a156af6
NFSD: Define a proc_layoutcommit for the FlexFiles layout type
chucklever Oct 20, 2025
ac50c6e
mm/ksm: fix flag-dropping behavior in ksm_madvise
Oct 1, 2025
6de6d31
arm64: cputype: Add Neoverse-V3AE definitions
mrutland-arm Sep 19, 2025
f3ccb49
arm64: errata: Apply workarounds for Neoverse-V3AE
mrutland-arm Sep 19, 2025
d28c1b1
dmaengine: Add missing cleanup on module unload
groeck Oct 20, 2025
4fc43de
Linux 6.12.55
gregkh Oct 23, 2025
4473946
Merge remote-tracking branch 'stable/linux-6.12.y' into rpi-6.12.y
popcornmix Oct 24, 2025
11355ef
defconfig: Remove hailo driver from defconfigs
naushir Oct 24, 2025
11a1e74
configs: Add the AD799X driver module
pelwell Oct 24, 2025
2e376fd
overlays: i2c-sensor: Add the ad799x ADC family
pelwell Oct 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Documentation/arch/arm64/silicon-errata.rst
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,8 @@ stable kernels.
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Neoverse-V3 | #3312417 | ARM64_ERRATUM_3194386 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Neoverse-V3AE | #3312417 | ARM64_ERRATUM_3194386 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | MMU-500 | #841119,826419 | N/A |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | MMU-600 | #1076982,1209401| N/A |
Expand Down
3 changes: 3 additions & 0 deletions Documentation/networking/seg6-sysctl.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ seg6_require_hmac - INTEGER

Default is 0.

/proc/sys/net/ipv6/seg6_* variables:
====================================

seg6_flowlabel - INTEGER
Controls the behaviour of computing the flowlabel of outer
IPv6 header in case of SR T.encaps
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 12
SUBLEVEL = 54
SUBLEVEL = 55
EXTRAVERSION =
NAME = Baby Opossum Posse

Expand Down
1 change: 1 addition & 0 deletions arch/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -861,6 +861,7 @@ config HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC
def_bool y
depends on HAVE_CFI_ICALL_NORMALIZE_INTEGERS_CLANG
depends on RUSTC_VERSION >= 107900
depends on ARM64 || X86_64
# With GCOV/KASAN we need this fix: https://github.com/rust-lang/rust/pull/129373
depends on (RUSTC_LLVM_VERSION >= 190103 && RUSTC_VERSION >= 108200) || \
(!GCOV_KERNEL && !KASAN_GENERIC && !KASAN_SW_TAGS)
Expand Down
32 changes: 28 additions & 4 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -2421,16 +2421,40 @@ Name: i2c-sensor
Info: Adds support for a number of I2C barometric pressure, temperature,
light level and chemical sensors on i2c_arm
Load: dtoverlay=i2c-sensor,<param>=<val>
Params: addr Set the address for the ADS7828, ADS7830,
ADT7410, AS73211, AS7331, BH1750, BME280,
BME680, BMP280, BMP380, BMP58x, CCS811, DS1621,
HDC100X, HDC3020, JC42, LM75, MCP980x,
Params: addr Set the address for the AD799X, ADS7828,
ADS7830, ADT7410, AS73211, AS7331, BH1750,
BME280, BME680, BMP280, BMP380, BMP58x, CCS811,
DS1621, HDC100X, HDC3020, JC42, LM75, MCP980x,
MPU6050, MPU9250, MS5637, MS5803, MS5805,
MS5837, MS8607, SHT3x, TMP102 or VEML6030.

i2c-bus Supports all the standard I2C bus selection
parameters - see "dtoverlay -h i2c-bus"

ad7991 Select the Analog Devices AD7991 ADC
Valid addresses 0x28-0x29, default 0x28

ad7992 Select the Analog Devices AD7992 ADC
Valid addresses 0x20-0x24, default 0x20

ad7993 Select the Analog Devices AD7993 ADC
Valid addresses 0x20-0x24, default 0x20

ad7994 Select the Analog Devices AD7994 ADC
Valid addresses 0x20-0x24, default 0x20

ad7995 Select the Analog Devices AD7995 ADC
Valid addresses 0x28-0x29, default 0x28

ad7997 Select the Analog Devices AD7997 ADC
Valid addresses 0x20-0x24, default 0x20

ad7998 Select the Analog Devices AD7998 ADC
Valid addresses 0x20-0x24, default 0x20

ad7999 Select the Analog Devices AD7999 ADC
Valid address 0x29 (the default)

ads7828 Select the TI ADS7828 50kHz 8-channel 12bit ADC
Valid addresses 0x48-0x4b, default 0x48

Expand Down
25 changes: 24 additions & 1 deletion arch/arm/boot/dts/overlays/i2c-sensor-common.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -818,6 +818,20 @@
};
};

fragment@56 {
target = <&i2cbus>;
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";

ad799x: ad799x@20 {
compatible = "adi,ad799x"; // To be overridden
reg = <0x20>;
};
};
};

fragment@98 {
target-path = "/";
__dormant__ {
Expand Down Expand Up @@ -896,6 +910,14 @@
veml6030 = <0>,"+50+99";
tmp117 = <0>,"+51+98";
scd4x = <0>,"+52";
ad7991 = <0>,"+56", <&ad799x>,"compatible=adi,ad7991", <&ad799x>,"reg:0=0x28";
ad7992 = <0>,"+56", <&ad799x>,"compatible=adi,ad7992";
ad7993 = <0>,"+56", <&ad799x>,"compatible=adi,ad7993";
ad7994 = <0>,"+56", <&ad799x>,"compatible=adi,ad7994";
ad7995 = <0>,"+56", <&ad799x>,"compatible=adi,ad7995", <&ad799x>,"reg:0=0x28";
ad7997 = <0>,"+56", <&ad799x>,"compatible=adi,ad7997";
ad7998 = <0>,"+56", <&ad799x>,"compatible=adi,ad7998";
ad7999 = <0>,"+56", <&ad799x>,"compatible=adi,ad7999", <&ad799x>,"reg:0=0x29";

addr = <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0",
<&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0",
Expand All @@ -910,7 +932,8 @@
<&as7331>,"reg:0", <&adxl345>,"reg:0",
<&ads7828>,"reg:0", <&ads7830>,"reg:0",
<&adxl355>,"reg:0", <&bmp58x>,"reg:0",
<&veml6030>,"reg:0", <&tmp117>,"reg:0";
<&veml6030>,"reg:0", <&tmp117>,"reg:0",
<&ad799x>,"reg:0";
int_pin = <&int_pins>, "brcm,pins:0",
<&int_pins>, "reg:0",
<&max30102>, "interrupts:0",
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/bcm2709_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1432,6 +1432,7 @@ CONFIG_IIO=m
CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_SW_TRIGGER=m
CONFIG_ADXL355_I2C=m
CONFIG_AD799X=m
CONFIG_MCP320X=m
CONFIG_MCP3422=m
CONFIG_TI_ADS1015=m
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/configs/bcm2711_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -960,7 +960,6 @@ CONFIG_VIDEO_EM28XX_V4L2=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
CONFIG_MEDIA_PCI_SUPPORT=y
CONFIG_MEDIA_PCI_HAILO=m
CONFIG_RADIO_SAA7706H=m
CONFIG_RADIO_SHARK=m
CONFIG_RADIO_SHARK2=m
Expand Down Expand Up @@ -1477,6 +1476,7 @@ CONFIG_IIO=m
CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_SW_TRIGGER=m
CONFIG_ADXL355_I2C=m
CONFIG_AD799X=m
CONFIG_MCP320X=m
CONFIG_MCP3422=m
CONFIG_TI_ADS1015=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/bcmrpi_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1424,6 +1424,7 @@ CONFIG_IIO=m
CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_SW_TRIGGER=m
CONFIG_ADXL355_I2C=m
CONFIG_AD799X=m
CONFIG_MCP320X=m
CONFIG_MCP3422=m
CONFIG_TI_ADS1015=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1112,6 +1112,7 @@ config ARM64_ERRATUM_3194386
* ARM Neoverse-V1 erratum 3324341
* ARM Neoverse V2 erratum 3324336
* ARM Neoverse-V3 erratum 3312417
* ARM Neoverse-V3AE erratum 3312417

On affected cores "MSR SSBS, #0" instructions may not affect
subsequent speculative instructions, which may permit unexepected
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/configs/bcm2711_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1004,7 +1004,6 @@ CONFIG_VIDEO_EM28XX_V4L2=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
CONFIG_MEDIA_PCI_SUPPORT=y
CONFIG_MEDIA_PCI_HAILO=m
CONFIG_RADIO_SAA7706H=m
CONFIG_RADIO_SHARK=m
CONFIG_RADIO_SHARK2=m
Expand Down Expand Up @@ -1545,6 +1544,7 @@ CONFIG_IIO=m
CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_SW_TRIGGER=m
CONFIG_ADXL355_I2C=m
CONFIG_AD799X=m
CONFIG_MCP320X=m
CONFIG_MCP3422=m
CONFIG_TI_ADS1015=m
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/configs/bcm2711_rt_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1004,7 +1004,6 @@ CONFIG_VIDEO_EM28XX_V4L2=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
CONFIG_MEDIA_PCI_SUPPORT=y
CONFIG_MEDIA_PCI_HAILO=m
CONFIG_RADIO_SAA7706H=m
CONFIG_RADIO_SHARK=m
CONFIG_RADIO_SHARK2=m
Expand Down Expand Up @@ -1544,6 +1543,7 @@ CONFIG_IIO=m
CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_SW_TRIGGER=m
CONFIG_ADXL355_I2C=m
CONFIG_AD799X=m
CONFIG_MCP320X=m
CONFIG_MCP3422=m
CONFIG_TI_ADS1015=m
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/configs/bcm2712_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1006,7 +1006,6 @@ CONFIG_VIDEO_EM28XX_V4L2=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
CONFIG_MEDIA_PCI_SUPPORT=y
CONFIG_MEDIA_PCI_HAILO=m
CONFIG_RADIO_SAA7706H=m
CONFIG_RADIO_SHARK=m
CONFIG_RADIO_SHARK2=m
Expand Down Expand Up @@ -1547,6 +1546,7 @@ CONFIG_IIO=m
CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_SW_TRIGGER=m
CONFIG_ADXL355_I2C=m
CONFIG_AD799X=m
CONFIG_MCP320X=m
CONFIG_MCP3422=m
CONFIG_TI_ADS1015=m
Expand Down
2 changes: 2 additions & 0 deletions arch/arm64/include/asm/cputype.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@
#define ARM_CPU_PART_NEOVERSE_V2 0xD4F
#define ARM_CPU_PART_CORTEX_A720 0xD81
#define ARM_CPU_PART_CORTEX_X4 0xD82
#define ARM_CPU_PART_NEOVERSE_V3AE 0xD83
#define ARM_CPU_PART_NEOVERSE_V3 0xD84
#define ARM_CPU_PART_CORTEX_X925 0xD85
#define ARM_CPU_PART_CORTEX_A725 0xD87
Expand Down Expand Up @@ -180,6 +181,7 @@
#define MIDR_NEOVERSE_V2 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V2)
#define MIDR_CORTEX_A720 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A720)
#define MIDR_CORTEX_X4 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X4)
#define MIDR_NEOVERSE_V3AE MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V3AE)
#define MIDR_NEOVERSE_V3 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V3)
#define MIDR_CORTEX_X925 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X925)
#define MIDR_CORTEX_A725 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A725)
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/kernel/cpu_errata.c
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,7 @@ static const struct midr_range erratum_spec_ssbs_list[] = {
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V1),
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V2),
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V3),
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V3AE),
{}
};
#endif
Expand Down
13 changes: 9 additions & 4 deletions arch/riscv/kernel/probes/kprobes.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,15 @@ static void __kprobes arch_simulate_insn(struct kprobe *p, struct pt_regs *regs)
post_kprobe_handler(p, kcb, regs);
}

static bool __kprobes arch_check_kprobe(struct kprobe *p)
static bool __kprobes arch_check_kprobe(unsigned long addr)
{
unsigned long tmp = (unsigned long)p->addr - p->offset;
unsigned long addr = (unsigned long)p->addr;
unsigned long tmp, offset;

/* start iterating at the closest preceding symbol */
if (!kallsyms_lookup_size_offset(addr, NULL, &offset))
return false;

tmp = addr - offset;

while (tmp <= addr) {
if (tmp == addr)
Expand All @@ -71,7 +76,7 @@ int __kprobes arch_prepare_kprobe(struct kprobe *p)
if ((unsigned long)insn & 0x1)
return -EILSEQ;

if (!arch_check_kprobe(p))
if (!arch_check_kprobe((unsigned long)p->addr))
return -EILSEQ;

/* copy instruction */
Expand Down
44 changes: 29 additions & 15 deletions arch/x86/kernel/cpu/resctrl/monitor.c
Original file line number Diff line number Diff line change
Expand Up @@ -312,38 +312,52 @@ static u64 mbm_overflow_count(u64 prev_msr, u64 cur_msr, unsigned int width)
return chunks >> shift;
}

static u64 get_corrected_val(struct rdt_resource *r, struct rdt_mon_domain *d,
u32 rmid, enum resctrl_event_id eventid, u64 msr_val)
{
struct rdt_hw_mon_domain *hw_dom = resctrl_to_arch_mon_dom(d);
struct rdt_hw_resource *hw_res = resctrl_to_arch_res(r);
struct arch_mbm_state *am;
u64 chunks;

am = get_arch_mbm_state(hw_dom, rmid, eventid);
if (am) {
am->chunks += mbm_overflow_count(am->prev_msr, msr_val,
hw_res->mbm_width);
chunks = get_corrected_mbm_count(rmid, am->chunks);
am->prev_msr = msr_val;
} else {
chunks = msr_val;
}

return chunks * hw_res->mon_scale;
}

int resctrl_arch_rmid_read(struct rdt_resource *r, struct rdt_mon_domain *d,
u32 unused, u32 rmid, enum resctrl_event_id eventid,
u64 *val, void *ignored)
{
struct rdt_hw_mon_domain *hw_dom = resctrl_to_arch_mon_dom(d);
struct rdt_hw_resource *hw_res = resctrl_to_arch_res(r);
int cpu = cpumask_any(&d->hdr.cpu_mask);
struct arch_mbm_state *am;
u64 msr_val, chunks;
u64 msr_val;
u32 prmid;
int ret;

resctrl_arch_rmid_read_context_check();

prmid = logical_rmid_to_physical_rmid(cpu, rmid);
ret = __rmid_read_phys(prmid, eventid, &msr_val);
if (ret)
return ret;

am = get_arch_mbm_state(hw_dom, rmid, eventid);
if (am) {
am->chunks += mbm_overflow_count(am->prev_msr, msr_val,
hw_res->mbm_width);
chunks = get_corrected_mbm_count(rmid, am->chunks);
am->prev_msr = msr_val;
} else {
chunks = msr_val;
if (!ret) {
*val = get_corrected_val(r, d, rmid, eventid, msr_val);
} else if (ret == -EINVAL) {
am = get_arch_mbm_state(hw_dom, rmid, eventid);
if (am)
am->prev_msr = 0;
}

*val = chunks * hw_res->mon_scale;

return 0;
return ret;
}

static void limbo_release_entry(struct rmid_entry *entry)
Expand Down
2 changes: 2 additions & 0 deletions drivers/accel/qaic/qaic.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ struct dma_bridge_chan {
* response queue's head and tail pointer of this DBC.
*/
void __iomem *dbc_base;
/* Synchronizes access to Request queue's head and tail pointer */
struct mutex req_lock;
/* Head of list where each node is a memory handle queued in request queue */
struct list_head xfer_list;
/* Synchronizes DBC readers during cleanup */
Expand Down
2 changes: 1 addition & 1 deletion drivers/accel/qaic/qaic_control.c
Original file line number Diff line number Diff line change
Expand Up @@ -407,7 +407,7 @@ static int find_and_map_user_pages(struct qaic_device *qdev,
return -EINVAL;
remaining = in_trans->size - resources->xferred_dma_size;
if (remaining == 0)
return 0;
return -EINVAL;

if (check_add_overflow(xfer_start_addr, remaining, &end))
return -EINVAL;
Expand Down
12 changes: 10 additions & 2 deletions drivers/accel/qaic/qaic_data.c
Original file line number Diff line number Diff line change
Expand Up @@ -1357,32 +1357,40 @@ static int __qaic_execute_bo_ioctl(struct drm_device *dev, void *data, struct dr
goto release_ch_rcu;
}

ret = mutex_lock_interruptible(&dbc->req_lock);
if (ret)
goto release_ch_rcu;

head = readl(dbc->dbc_base + REQHP_OFF);
tail = readl(dbc->dbc_base + REQTP_OFF);

if (head == U32_MAX || tail == U32_MAX) {
/* PCI link error */
ret = -ENODEV;
goto release_ch_rcu;
goto unlock_req_lock;
}

queue_level = head <= tail ? tail - head : dbc->nelem - (head - tail);

ret = send_bo_list_to_device(qdev, file_priv, exec, args->hdr.count, is_partial, dbc,
head, &tail);
if (ret)
goto release_ch_rcu;
goto unlock_req_lock;

/* Finalize commit to hardware */
submit_ts = ktime_get_ns();
writel(tail, dbc->dbc_base + REQTP_OFF);
mutex_unlock(&dbc->req_lock);

update_profiling_data(file_priv, exec, args->hdr.count, is_partial, received_ts,
submit_ts, queue_level);

if (datapath_polling)
schedule_work(&dbc->poll_work);

unlock_req_lock:
if (ret)
mutex_unlock(&dbc->req_lock);
release_ch_rcu:
srcu_read_unlock(&dbc->ch_lock, rcu_id);
unlock_dev_srcu:
Expand Down
Loading
Loading