Skip to content
OpenAdvisories
High · 7.8 CVE-2022-48759 EUVD-2022-53638GHSA-rfp5-p8gj-qx34

rpmsg: char: Fix race between the release of rpmsg_ctrldev and cdev

Published Jun 20, 2024 · Updated Aug 5, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.4 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-iot Package: linux-kvm Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-nvidia-6.2 Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-vmware Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

In the Linux kernel, the following vulnerability has been resolved:

rpmsg: char: Fix race between the release of rpmsg_ctrldev and cdev

struct rpmsg_ctrldev contains a struct cdev. The current code frees
the rpmsg_ctrldev struct in rpmsg_ctrldev_release_device(), but the
cdev is a managed object, therefore its release is not predictable
and the rpmsg_ctrldev could be freed before the cdev is entirely
released, as in the backtrace below.

[ 93.625603] ODEBUG: free active (active state 0) object type: timer_list hint: delayed_work_timer_fn+0x0/0x7c
[ 93.636115] WARNING: CPU: 0 PID: 12 at lib/debugobjects.c:488 debug_print_object+0x13c/0x1b0
[ 93.644799] Modules linked in: veth xt_cgroup xt_MASQUERADE rfcomm algif_hash algif_skcipher af_alg uinput ip6table_nat fuse uvcvideo videobuf2_vmalloc venus_enc venus_dec videobuf2_dma_contig hci_uart btandroid btqca snd_soc_rt5682_i2c bluetooth qcom_spmi_temp_alarm snd_soc_rt5682v
[ 93.715175] CPU: 0 PID: 12 Comm: kworker/0:1 Tainted: G B 5.4.163-lockdep #26
[ 93.723855] Hardware name: Google Lazor (rev3 - 8) with LTE (DT)
[ 93.730055] Workqueue: events kobject_delayed_cleanup
[ 93.735271] pstate: 60c00009 (nZCv daif +PAN +UAO)
[ 93.740216] pc : debug_print_object+0x13c/0x1b0
[ 93.744890] lr : debug_print_object+0x13c/0x1b0
[ 93.749555] sp : ffffffacf5bc7940
[ 93.752978] x29: ffffffacf5bc7940 x28: dfffffd000000000
[ 93.758448] x27: ffffffacdb11a800 x26: dfffffd000000000
[ 93.763916] x25: ffffffd0734f856c x24: dfffffd000000000
[ 93.769389] x23: 0000000000000000 x22: ffffffd0733c35b0
[ 93.774860] x21: ffffffd0751994a0 x20: ffffffd075ec27c0
[ 93.780338] x19: ffffffd075199100 x18: 00000000000276e0
[ 93.785814] x17: 0000000000000000 x16: dfffffd000000000
[ 93.791291] x15: ffffffffffffffff x14: 6e6968207473696c
[ 93.796768] x13: 0000000000000000 x12: ffffffd075e2b000
[ 93.802244] x11: 0000000000000001 x10: 0000000000000000
[ 93.807723] x9 : d13400dff1921900 x8 : d13400dff1921900
[ 93.813200] x7 : 0000000000000000 x6 : 0000000000000000
[ 93.818676] x5 : 0000000000000080 x4 : 0000000000000000
[ 93.824152] x3 : ffffffd0732a0fa4 x2 : 0000000000000001
[ 93.829628] x1 : ffffffacf5bc7580 x0 : 0000000000000061
[ 93.835104] Call trace:
[ 93.837644] debug_print_object+0x13c/0x1b0
[ 93.841963] __debug_check_no_obj_freed+0x25c/0x3c0
[ 93.846987] debug_check_no_obj_freed+0x18/0x20
[ 93.851669] slab_free_freelist_hook+0xbc/0x1e4
[ 93.856346] kfree+0xfc/0x2f4
[ 93.859416] rpmsg_ctrldev_release_device+0x78/0xb8
[ 93.864445] device_release+0x84/0x168
[ 93.868310] kobject_cleanup+0x12c/0x298
[ 93.872356] kobject_delayed_cleanup+0x10/0x18
[ 93.876948] process_one_work+0x578/0x92c
[ 93.881086] worker_thread+0x804/0xcf8
[ 93.884963] kthread+0x2a8/0x314
[ 93.888303] ret_from_fork+0x10/0x18

The cdev_device_add/del() API was created to address this issue (see
commit '233ed09d7fda ("chardev: add helper function to register char
devs with a struct device")'), use it instead of cdev add/del().

Affected products

VendorProductAffectedFixed
Linux Linux 4.11 4.14.265

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 5.16.7-1 —
Debian 13 linux 5.16.7-1 —
Debian 12 linux 5.16.7-1 —
ReleasePackageFixed inAdvisory
Ubuntu 24.04 LTS linux-raspi-realtime No fix yet —
Ubuntu 22.04 LTS linux-riscv +22 No fix yet —
Ubuntu 20.04 LTS linux 5.4.0-109.123 —
Ubuntu 20.04 LTS linux-aws +1 5.4.0-1072.77 —
Ubuntu 20.04 LTS linux-azure 5.4.0-1077.80 —
Ubuntu 20.04 LTS linux-bluefield 5.4.0-1035.38 —
Ubuntu 20.04 LTS linux-gke +26 No fix yet —
Ubuntu 20.04 LTS linux-gkeop 5.4.0-1039.40 —
Ubuntu 20.04 LTS linux-ibm 5.4.0-1020.22 —
Ubuntu 20.04 LTS linux-iot 5.4.0-1004.6 —
Ubuntu 20.04 LTS linux-kvm 5.4.0-1062.65 —
Ubuntu 20.04 LTS linux-oracle 5.4.0-1070.76 —
Ubuntu 20.04 LTS linux-raspi 5.4.0-1059.67 —
Ubuntu 18.04 LTS linux 4.15.0-176.185 —
Ubuntu 18.04 LTS linux-aws 4.15.0-1127.136 —
Ubuntu 18.04 LTS linux-aws-5.4 +1 5.4.0-1072.77~18.04.1 —
Ubuntu 18.04 LTS linux-azure-4.15 4.15.0-1137.150 —
Ubuntu 18.04 LTS linux-azure-5.4 5.4.0-1077.80~18.04.1 —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 18.04 LTS linux-gcp-4.15 4.15.0-1121.135 —
Ubuntu 18.04 LTS linux-hwe-5.4 5.4.0-109.123~18.04.1 —
Ubuntu 18.04 LTS linux-ibm-5.4 5.4.0-1020.22~18.04.1 —
Ubuntu 18.04 LTS linux-kvm 4.15.0-1113.116 —
Ubuntu 18.04 LTS linux-oracle 4.15.0-1092.101 —
Ubuntu 18.04 LTS linux-oracle-5.4 5.4.0-1070.76~18.04.1 —
Ubuntu 18.04 LTS linux-raspi-5.4 5.4.0-1059.66~18.04.1 —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Show 6 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 20.04 LTS linux-aws-fips 5.4.0-1072.77+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-azure-fips 5.4.0-1076.79+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips 5.4.0-1048.54 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-gcp-fips 5.4.0-1071.75+fips1 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-aws-fips 4.15.0-2066.69 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-azure-fips 4.15.0-2048.52 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips 4.15.0-1084.93 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-gcp-fips 4.15.0-2031.34 —
Ubuntu Pro 16.04 LTS linux-aws-hwe 4.15.0-1127.136~16.04.1 —
Ubuntu Pro 16.04 LTS linux-azure 4.15.0-1137.150~16.04.1 —
Ubuntu Pro 16.04 LTS linux-gcp 4.15.0-1121.135~16.04.1 —
Ubuntu Pro 16.04 LTS linux-hwe 4.15.0-176.185~16.04.1 —
Ubuntu Pro 16.04 LTS linux-oracle 4.15.0-1092.101~16.04.1 —
Ubuntu Pro 14.04 LTS linux-azure 4.15.0-1137.150~14.04.1 —
ReleasePackageFixed inAdvisory
SLES 15 SP5 kernel-64kb +5 5.14.21-150500.55.73.1 SUSE-SU-2024:2939-1
SLES 15 SP5 kernel-azure +2 5.14.21-150500.33.60.1 SUSE-SU-2024:2372-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.73.1.150500.6.33.8 SUSE-SU-2024:2939-1
SLES 15 SP5 kernel-docs 5.14.21-150500.55.73.2 SUSE-SU-2024:2939-1
SLES 15 SP4 kernel-64kb +6 5.14.21-150400.24.128.1 SUSE-SU-2024:2929-1
SLES 15 SP4 kernel-default-base 5.14.21-150400.24.128.1.150400.24.62.1 SUSE-SU-2024:2929-1
SLES 15 SP3 kernel-64kb +7 5.3.18-150300.59.167.1 SUSE-SU-2024:2362-1
SLES 15 SP3 kernel-default-base 5.3.18-150300.59.167.1.150300.18.98.1 SUSE-SU-2024:2362-1
SLES 12 SP5 kernel-azure +2 4.12.14-16.191.1 SUSE-SU-2024:2360-1
SLES 12 SP5 kernel-docs +4 4.12.14-122.222.1 SUSE-SU-2024:2561-1
Show 19 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP4 kernel-default-base 5.14.21-150400.24.128.1.150400.24.62.1 SUSE-SU-2024:2929-1
SLES for SAP 15 SP4 kernel-docs +4 5.14.21-150400.24.128.1 SUSE-SU-2024:2929-1
SLES for SAP 15 SP3 kernel-default-base 5.3.18-150300.59.167.1.150300.18.98.1 SUSE-SU-2024:2362-1
SLES for SAP 15 SP3 kernel-docs +5 5.3.18-150300.59.167.1 SUSE-SU-2024:2362-1
SLES for SAP 12 SP5 kernel-azure +2 4.12.14-16.191.1 SUSE-SU-2024:2360-1
SLES for SAP 12 SP5 kernel-syms +2 4.12.14-122.222.1 SUSE-SU-2024:2561-1
SLE Real Time 12 SP5 kernel-rt +3 4.12.14-10.191.1 SUSE-SU-2024:2381-1
SLE Micro 5.5 kernel-default 5.14.21-150500.55.73.1 SUSE-SU-2024:2939-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.73.1.150500.6.33.8 SUSE-SU-2024:2939-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.61.1 SUSE-SU-2024:2394-1
SLE Micro 5.4 kernel-default 5.14.21-150400.24.128.1 SUSE-SU-2024:2929-1
SLE Micro 5.4 kernel-default-base 5.14.21-150400.24.128.1.150400.24.62.1 SUSE-SU-2024:2929-1
SLE Micro 5.4 kernel-rt +1 5.14.21-150400.15.88.1 SUSE-SU-2024:2902-1
SLE Micro 5.3 kernel-default 5.14.21-150400.24.128.1 SUSE-SU-2024:2929-1
SLE Micro 5.3 kernel-default-base 5.14.21-150400.24.128.1.150400.24.62.1 SUSE-SU-2024:2929-1
SLE Micro 5.3 kernel-rt +1 5.14.21-150400.15.88.1 SUSE-SU-2024:2902-1
SLE Micro 5.2 kernel-default 5.3.18-150300.59.167.1 SUSE-SU-2024:2362-1
SLE Micro 5.2 kernel-default-base 5.3.18-150300.59.167.1.150300.18.98.1 SUSE-SU-2024:2362-1
SLE Micro 5.2 kernel-rt +1 5.3.18-150300.175.1 SUSE-SU-2024:2384-1
SLE Micro 5.1 kernel-default 5.3.18-150300.59.167.1 SUSE-SU-2024:2362-1
SLE Micro 5.1 kernel-default-base 5.3.18-150300.59.167.1.150300.18.98.1 SUSE-SU-2024:2362-1
SLE Micro 5.1 kernel-rt +1 5.3.18-150300.175.1 SUSE-SU-2024:2384-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.73.1 SUSE-SU-2024:2939-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_17 +1 1-150500.11.3.1 SUSE-SU-2024:2939-1, SUSE-SU-2024:2394-1
SLE Live Patching 15 SP4 kernel-default 5.14.21-150400.24.128.1 SUSE-SU-2024:2929-1
SLE Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_29 1-150400.9.3.1 SUSE-SU-2024:2929-1
SLE Live Patching 15 SP3 kernel-default 5.3.18-150300.59.167.1 SUSE-SU-2024:2362-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_46 1-150300.7.3.1 SUSE-SU-2024:2362-1
SLE Live Patching 12 SP5 kernel-default 4.12.14-122.222.1 SUSE-SU-2024:2561-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_58 1-8.3.1 SUSE-SU-2024:2561-1
SLE HPC 15 SP4 kernel-64kb +5 5.14.21-150400.24.128.1 SUSE-SU-2024:2929-1
SLE HPC 15 SP4 kernel-default-base 5.14.21-150400.24.128.1.150400.24.62.1 SUSE-SU-2024:2929-1
SLE HPC 15 SP3 kernel-64kb +6 5.3.18-150300.59.167.1 SUSE-SU-2024:2362-1
SLE HPC 15 SP3 kernel-default-base 5.3.18-150300.59.167.1.150300.18.98.1 SUSE-SU-2024:2362-1
SUSE Real Time Module 15 SP5 kernel-rt +3 5.14.21-150500.13.61.1 SUSE-SU-2024:2394-1
SUSE Manager Server 4.3 kernel-default-base 5.14.21-150400.24.128.1.150400.24.62.1 SUSE-SU-2024:2929-1
SUSE Manager Server 4.3 kernel-syms +3 5.14.21-150400.24.128.1 SUSE-SU-2024:2929-1
SUSE Manager Proxy 4.3 kernel-default-base 5.14.21-150400.24.128.1.150400.24.62.1 SUSE-SU-2024:2929-1
SUSE Manager Proxy 4.3 kernel-syms +2 5.14.21-150400.24.128.1 SUSE-SU-2024:2929-1
SUSE Enterprise Storage 7.1 kernel-64kb +6 5.3.18-150300.59.167.1 SUSE-SU-2024:2362-1
SUSE Enterprise Storage 7.1 kernel-default-base 5.3.18-150300.59.167.1.150300.18.98.1 SUSE-SU-2024:2362-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.5 dtb-aarch64 +9 5.14.21-150500.55.73.1 SUSE-SU-2024:2939-1
openSUSE Leap 15.5 kernel-azure +2 5.14.21-150500.33.60.1 SUSE-SU-2024:2372-1
openSUSE Leap 15.5 kernel-default-base 5.14.21-150500.55.73.1.150500.6.33.8 SUSE-SU-2024:2939-1
openSUSE Leap 15.5 kernel-docs 5.14.21-150500.55.73.2 SUSE-SU-2024:2939-1
openSUSE Leap 15.5 kernel-rt +3 5.14.21-150500.13.61.1 SUSE-SU-2024:2394-1
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
openSUSE Leap Micro 5.5 kernel-default 5.14.21-150500.55.73.1 SUSE-SU-2024:2939-1
openSUSE Leap Micro 5.5 kernel-default-base 5.14.21-150500.55.73.1.150500.6.33.8 SUSE-SU-2024:2939-1

Advisories 11

References