cveboard RSS feed

CVE-2022-50100

CVE.org · Published

Historical CVEsJSONAI instructions

Record status
Published
Identifier year (not publication year)
2022
Source publication
Source updated
Imported by cveboard
Source snapshot
cve_2026-10-24_midnight_baseline ·

Plain text

CNA source text (English)

sched/core: Do not requeue task on CPU excluded from cpus_mask

In the Linux kernel, the following vulnerability has been resolved: sched/core: Do not requeue task on CPU excluded from cpus_mask The following warning was triggered on a large machine early in boot on a distribution kernel but the same problem should also affect mainline. WARNING: CPU: 439 PID: 10 at ../kernel/workqueue.c:2231 process_one_work+0x4d/0x440 Call Trace: <TASK> rescuer_thread+0x1f6/0x360 kthread+0x156/0x180 ret_from_fork+0x22/0x30 </TASK> Commit c6e7bd7afaeb ("sched/core: Optimize ttwu() spinning on p->on_cpu") optimises ttwu by queueing a task that is descheduling on the wakelist, but does not check if the task descheduling is still allowed to run on that CPU. In this warning, the problematic task is a workqueue rescue thread which checks if the rescue is for a per-cpu workqueue and running on the wrong CPU. While this is early in boot and it should be possible to create workers, the rescue thread may still used if the MAYDAY_INITIAL_TIMEOUT is reached or MAYDAY_INTERVAL and on a sufficiently large machine, the rescue thread is being used frequently. Tracing confirmed that the task should have migrated properly using the stopper thread to handle the migration. However, a parallel wakeup from udev running on another CPU that does not share CPU cache observes p->on_cpu and uses task_cpu(p), queues the task on the old CPU and triggers the warning. Check that the wakee task that is descheduling is still allowed to run on its current CPU and if not, wait for the descheduling to complete and select an allowed CPU.

Scoped product and version facts

Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.

Exploitation unknown; this catalogue does not assess exploitation.

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
unaffected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
c6e7bd7afaeb3af55ffac122828035f1c01d1d7baffectedgit748d2e9585ae53cb6be48e84f93d2f082ae1d135UnavailableNone listed
c6e7bd7afaeb3af55ffac122828035f1c01d1d7baffectedgitfde45283f4c8a91c367ea5f20f87036468755121UnavailableNone listed
c6e7bd7afaeb3af55ffac122828035f1c01d1d7baffectedgit302f7b0fc337746f41c69eb08522907f6a90c643UnavailableNone listed
c6e7bd7afaeb3af55ffac122828035f1c01d1d7baffectedgit751d4cbc43879229dbc124afefe240b70fd29a85UnavailableNone listed

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
affected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
5.8affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver5.8UnavailableNone listed
5.15.61unaffectedsemverUnavailable5.15.*None listed
5.18.18unaffectedsemverUnavailable5.18.*None listed
5.19.2unaffectedsemverUnavailable5.19.*None listed
6.0unaffectedoriginal_commit_for_fixUnavailable*None listed