mtd: block2mtd: Fix divide error when erase_size is zero
In the Linux kernel, the following vulnerability has been resolved: mtd: block2mtd: Fix divide error when erase_size is zero The erase size is parsed from the "block2mtd" module parameter and can be set to zero. add_device() then evaluates if (size % erase_size) with a zero divisor, which triggers a divide error: divide error: 0000 [#1] PREEMPT SMP PTI RIP: 0010:add_device drivers/mtd/devices/block2mtd.c:296 [inline] RIP: 0010:block2mtd_setup2+0x592/0xda0 drivers/mtd/devices/block2mtd.c:459 Call Trace: block2mtd_setup+0x27/0xe0 drivers/mtd/devices/block2mtd.c:476 param_attr_store+0x214/0x310 kernel/params.c:589 module_attr_store+0x65/0x90 kernel/params.c:904 kernfs_fop_write_iter+0x3a4/0x540 fs/kernfs/file.c:345 ... Reject a zero erase size before performing the modulo operation so the existing "erasesize must be a divisor of device size" error path reports the invalid argument and frees the device.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.273, 5.15.224, 6.1.191, 6.12.113, 6.18.56, 6.6.160, 7.2.10
- CVEs
- CVE-2026-98722
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 17:44 UTC · Revision 1
Source evidence
mtd: block2mtd: Fix divide error when erase_size is zero
core-osv · Original sourcePublished 18 Oct 2026, 15:46 UTC
In the Linux kernel, the following vulnerability has been resolved: mtd: block2mtd: Fix divide error when erase_size is zero The erase size is parsed from the "block2mtd" module parameter and can be set to zero. add_device() then evaluates if (size % erase_size) with a zero divisor, which triggers a divide error: divide error: 0000 [#1] PREEMPT SMP PTI RIP: 0010:add_device drivers/mtd/devices/block2mtd.c:296 [inline] RIP: 0010:block2mtd_setup2+0x592/0xda0 drivers/mtd/devices/block2mtd.c:459 Call Trace: block2mtd_setup+0x27/0xe0 drivers/mtd/devices/block2mtd.c:476 param_attr_store+0x214/0x310 kernel/params.c:589 module_attr_store+0x65/0x90 kernel/params.c:904 kernfs_fop_write_iter+0x3a4/0x540 fs/kernfs/file.c:345 ... Reject a zero erase size before performing the modulo operation so the existing "erasesize must be a divisor of device size" error path reports the invalid argument and frees the device.
osv:CVE-2026-98722
Kernel
Fixed versions: 5.10.273, 5.15.224, 6.1.191, 6.6.160, 6.12.113, 6.18.56, 7.2.10
Complete source record
{
"id": "0be7cd7f98dbdd2ab93d26cd1e976a24f6812d3a24b75620991248aeff148f21",
"url": "https://osv.dev/vulnerability/CVE-2026-98722",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "mtd: block2mtd: Fix divide error when erase_size is zero",
"summary": "In the Linux kernel, the following vulnerability has been resolved: mtd: block2mtd: Fix divide error when erase_size is zero The erase size is parsed from the \"block2mtd\" module parameter and can be set to zero. add_device() then evaluates if (size % erase_size) with a zero divisor, which triggers a divide error: divide error: 0000 [#1] PREEMPT SMP PTI RIP: 0010:add_device drivers/mtd/devices/block2mtd.c:296 [inline] RIP: 0010:block2mtd_setup2+0x592/0xda0 drivers/mtd/devices/block2mtd.c:459 Call Trace: block2mtd_setup+0x27/0xe0 drivers/mtd/devices/block2mtd.c:476 param_attr_store+0x214/0x310 kernel/params.c:589 module_attr_store+0x65/0x90 kernel/params.c:904 kernfs_fop_write_iter+0x3a4/0x540 fs/kernfs/file.c:345 ... Reject a zero erase size before performing the modulo operation so the existing \"erasesize must be a divisor of device size\" error path reports the invalid argument and frees the device.",
"evidence": "osv:CVE-2026-98722",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.273",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.224",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.191",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.160",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.113",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.56",
"evidence": "/affected/1/ranges"
},
{
"value": "7.2.10",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-98722",
"aliases": [
"CVE-2026-98722"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "ea6d833a3fddcd1d60414d48f34c7f4fbe88608f"
},
{
"fixed": "c8004de07739fa9a39e310e859384f1458d7d076"
},
{
"fixed": "7ad5287e58d7aa1a848105f119e6c5b00446882f"
},
{
"fixed": "fd73c079abc58e10183a4db4dc9dc5012db17476"
},
{
"fixed": "bff83b723e93acc788bd690dc4bc1f6f4356c35b"
},
{
"fixed": "826170a49ca1315af6b293a02200585b1e2186d9"
},
{
"fixed": "a991c28066e7ba4da7450bb04478849f7ac6a14a"
},
{
"fixed": "21d0f05989bf0d5cef57b467a7fa4feefbd7236a"
},
{
"fixed": "b5965c4221165045e19736794ca5f48ae3d67142"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98722.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "3.15.0"
},
{
"fixed": "5.10.273"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.224"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.191"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.160"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.113"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.56"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.2.10"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98722.json"
}
}
],
"modified": "2026-11-01T02:30:16.223344920Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/21d0f05989bf0d5cef57b467a7fa4feefbd7236a",
"https://git.kernel.org/stable/c/7ad5287e58d7aa1a848105f119e6c5b00446882f",
"https://git.kernel.org/stable/c/826170a49ca1315af6b293a02200585b1e2186d9",
"https://git.kernel.org/stable/c/a991c28066e7ba4da7450bb04478849f7ac6a14a",
"https://git.kernel.org/stable/c/b5965c4221165045e19736794ca5f48ae3d67142",
"https://git.kernel.org/stable/c/bff83b723e93acc788bd690dc4bc1f6f4356c35b",
"https://git.kernel.org/stable/c/c8004de07739fa9a39e310e859384f1458d7d076",
"https://git.kernel.org/stable/c/fd73c079abc58e10183a4db4dc9dc5012db17476",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98722.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-98722",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98722.json"
}
},
"related_cves": [
{
"value": "CVE-2026-98722",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 505441,
"published_at": "2026-10-18T15:46:58.093+00:00"
}