Where
AND
-Infinity
0
Severity
5.5
Race Condition
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

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

media: chips-media: wave5: Fix kthread worker destruction in polling mode

Fix the cleanup order in polling mode (irq < 0) to prevent kernel warnings during module removal. Cancel the hrtimer before destroying the kthread worker to ensure work queues are empty.

In polling mode, the driver uses hrtimer to periodically trigger wave5vputimercallback() which queues work via kthreadqueuework(). The kthreaddestroyworker() function validates that both work queues are empty with WARNON(!listempty(&worker->worklist)) and WARNON(!listempty(&worker->delayedworklist)).

The original code called kthreaddestroyworker() before hrtimercancel(), creating a race condition where the timer could fire during worker destruction and queue new work, triggering the WARNON.

This causes the following warning on every module unload in polling mode:

------------[ cut here ]------------ WARNING: CPU: 2 PID: 1034 at kernel/kthread.c:1430 kthreaddestroyworker+0x84/0x98 Modules linked in: wave5(-) rpmsgctrl rpmsgchar ... Call trace: kthreaddestroyworker+0x84/0x98 wave5vpuremove+0xc8/0xe0 [wave5] platformremove+0x30/0x58 ... ---[ end trace 0000000000000000 ]---

First published (updated )
Severity
5.5
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

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

media: chips-media: wave5: Fix SError of kernel panic when closed

SError of kernel panic rarely happened while testing fluster. The root cause was to enter suspend mode because timeout of autosuspend delay happened.

[ 48.834439] SError Interrupt on CPU0, code 0x00000000bf000000 -- SError [ 48.834455] CPU: 0 UID: 0 PID: 1067 Comm: v4l2h265dec0:sr Not tainted 6.12.9-gc9e21a1ebd75-dirty #7 [ 48.834461] Hardware name: ti Texas Instruments J721S2 EVM/Texas Instruments J721S2 EVM, BIOS 2025.01-00345-gbaf3aaa8ecfa 01/01/2025 [ 48.834464] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 48.834468] pc : wave5decclrdispflag+0x40/0x80 [wave5] [ 48.834488] lr : wave5decclrdispflag+0x40/0x80 [wave5] [ 48.834495] sp : ffff8000856e3a30 [ 48.834497] x29: ffff8000856e3a30 x28: ffff0008093f6010 x27: ffff000809158130 [ 48.834504] x26: 0000000000000000 x25: ffff00080b625000 x24: ffff000804a9ba80 [ 48.834509] x23: ffff000802343028 x22: ffff000809158150 x21: ffff000802218000 [ 48.834513] x20: ffff0008093f6000 x19: ffff0008093f6000 x18: 0000000000000000 [ 48.834518] x17: 0000000000000000 x16: 0000000000000000 x15: 0000ffff74009618 [ 48.834523] x14: 000000010000000c x13: 0000000000000000 x12: 0000000000000000 [ 48.834527] x11: ffffffffffffffff x10: ffffffffffffffff x9 : ffff000802343028 [ 48.834532] x8 : ffff00080b6252a0 x7 : 0000000000000038 x6 : 0000000000000000 [ 48.834536] x5 : ffff00080b625060 x4 : 0000000000000000 x3 : 0000000000000000 [ 48.834541] x2 : 0000000000000000 x1 : ffff800084bf0118 x0 : ffff800084bf0000 [ 48.834547] Kernel panic - not syncing: Asynchronous SError Interrupt [ 48.834549] CPU: 0 UID: 0 PID: 1067 Comm: v4l2h265dec0:sr Not tainted 6.12.9-gc9e21a1ebd75-dirty #7 [ 48.834554] Hardware name: ti Texas Instruments J721S2 EVM/Texas Instruments J721S2 EVM, BIOS 2025.01-00345-gbaf3aaa8ecfa 01/01/2025 [ 48.834556] Call trace: [ 48.834559] dumpbacktrace+0x94/0xec [ 48.834574] showstack+0x18/0x24 [ 48.834579] dumpstacklvl+0x38/0x90 [ 48.834585] dumpstack+0x18/0x24 [ 48.834588] panic+0x35c/0x3e0 [ 48.834592] nmipanic+0x40/0x8c [ 48.834595] arm64serrorpanic+0x64/0x70 [ 48.834598] doserror+0x3c/0x78 [ 48.834601] el1h64errorhandler+0x34/0x4c [ 48.834605] el1h64error+0x64/0x68 [ 48.834608] wave5decclrdispflag+0x40/0x80 [wave5] [ 48.834615] wave5vpudecclrdispflag+0x54/0x80 [wave5] [ 48.834622] wave5vpudecbufqueue+0x19c/0x1a0 [wave5] [ 48.834628] enqueueindriver+0x3c/0x74 [videobuf2common] [ 48.834639] vb2coreqbuf+0x508/0x61c [videobuf2common] [ 48.834646] vb2qbuf+0xa4/0x168 [videobuf2v4l2] [ 48.834656] v4l2m2mqbuf+0x80/0x238 [v4l2mem2mem] [ 48.834666] v4l2m2mioctlqbuf+0x18/0x24 [v4l2mem2mem] [ 48.834673] v4lqbuf+0x48/0x5c [videodev] [ 48.834704] videodoioctl+0x180/0x3f0 [videodev] [ 48.834725] videousercopy+0x2ec/0x68c [videodev] [ 48.834745] videoioctl2+0x18/0x24 [videodev] [ 48.834766] v4l2ioctl+0x40/0x60 [videodev] [ 48.834786] arm64sysioctl+0xa8/0xec [ 48.834793] invokesyscall+0x44/0x100 [ 48.834800] el0svccommon.constprop.0+0xc0/0xe0 [ 48.834804] doel0svc+0x1c/0x28 [ 48.834809] el0svc+0x30/0xd0 [ 48.834813] el0t64synchandler+0xc0/0xc4 [ 48.834816] el0t64sync+0x190/0x194 [ 48.834820] SMP: stopping secondary CPUs [ 48.834831] Kernel Offset: disabled [ 48.834833] CPU features: 0x08,00002002,80200000,4200421b [ 48.834837] Memory Limit: none [ 49.161404] ---[ end Kernel panic - not syncing: Asynchronous SError Interrupt ]---

First published (updated )

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203