Skip to content
CVE PROGRAM SOURCE RECORD7.8 High

CVE-2021-47577

io-wq: check for wq exit after adding new worker task_work

Description

In the Linux kernel, the following vulnerability has been resolved: io-wq: check for wq exit after adding new worker task_work We check IO_WQ_BIT_EXIT before attempting to create a new worker, and wq exit cancels pending work if we have any. But it's possible to have a race between the two, where creation checks exit finding it not set, but we're in the process of exiting. The exit side will cancel pending creation task_work, but there's a gap where we add task_work after we've canceled existing creations at exit time. Fix this by checking the EXIT bit post adding the creation task_work. If it's set, run the same cancelation that exit does.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 685fe7feedb96771683437107ba72131410e2350 to < 4b4e5bbf9386d4ec21d91c0cb0fd60b9bba778ecaffected
  • 685fe7feedb96771683437107ba72131410e2350 to < 71a85387546e50b1a37b0fa45dadcae3bfb35cf6affected

Linux Linux

Default version status: affected

  • 5.13affected
  • 0 to < 5.13unaffected
  • 5.15.11 to ≤ 5.15.*unaffected
  • 5.16 to ≤ *unaffected

References