Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2024-43889

padata: Fix possible divide-by-0 panic in padata_mt_helper()

Description

In the Linux kernel, the following vulnerability has been resolved: padata: Fix possible divide-by-0 panic in padata_mt_helper() We are hit with a not easily reproducible divide-by-0 panic in padata.c at bootup time. [ 10.017908] Oops: divide error: 0000 1 PREEMPT SMP NOPTI [ 10.017908] CPU: 26 PID: 2627 Comm: kworker/u1666:1 Not tainted 6.10.0-15.el10.x86_64 #1 [ 10.017908] Hardware name: Lenovo ThinkSystem SR950 [7X12CTO1WW]/[7X12CTO1WW], BIOS [PSE140J-2.30] 07/20/2021 [ 10.017908] Workqueue: events_unbound padata_mt_helper [ 10.017908] RIP: 0010:padata_mt_helper+0x39/0xb0 : [ 10.017963] Call Trace: [ 10.017968] <TASK> [ 10.018004] ? padata_mt_helper+0x39/0xb0 [ 10.018084] process_one_work+0x174/0x330 [ 10.018093] worker_thread+0x266/0x3a0 [ 10.018111] kthread+0xcf/0x100 [ 10.018124] ret_from_fork+0x31/0x50 [ 10.018138] ret_from_fork_asm+0x1a/0x30 [ 10.018147] </TASK> Looking at the padata_mt_helper() function, the only way a divide-by-0 panic can happen is when ps->chunk_size is 0. The way that chunk_size is initialized in padata_do_multithreaded(), chunk_size can be 0 when the min_chunk in the passed-in padata_mt_job structure is 0. Fix this divide-by-0 panic by making sure that chunk_size will be at least 1 no matter what the input parameters are.

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

  • 004ed42638f4428e70ead59d170f3d17ff761a0f to < ab8b397d5997d8c37610252528edc54bebf9f6d3affected
  • 004ed42638f4428e70ead59d170f3d17ff761a0f to < 8f5ffd2af7274853ff91d6cd62541191d9fbd10daffected
  • 004ed42638f4428e70ead59d170f3d17ff761a0f to < a29cfcb848c31f22b4de6a531c3e1d68c9bfe09faffected
  • 004ed42638f4428e70ead59d170f3d17ff761a0f to < 924f788c906dccaca30acab86c7124371e1d6f2caffected
  • 004ed42638f4428e70ead59d170f3d17ff761a0f to < da0ffe84fcc1627a7dff82c80b823b94236af905affected
  • 004ed42638f4428e70ead59d170f3d17ff761a0f to < 6d45e1c948a8b7ed6ceddb14319af69424db730caffected

Linux Linux

Default version status: affected

  • 5.8affected
  • 0 to < 5.8unaffected
  • 5.10.224 to ≤ 5.10.*unaffected
  • 5.15.165 to ≤ 5.15.*unaffected
  • 6.1.105 to ≤ 6.1.*unaffected
  • 6.6.46 to ≤ 6.6.*unaffected
  • 6.10.5 to ≤ 6.10.*unaffected
  • 6.11 to ≤ *unaffected

References