---
id: CVE-2026-98722
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 evalu…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= ea6d833a3fddcd1d60414d48f34c7f4fbe88608f <
    826170a49ca1315af6b293a02200585b1e2186d9
  - >-
    Linux >= ea6d833a3fddcd1d60414d48f34c7f4fbe88608f <
    a991c28066e7ba4da7450bb04478849f7ac6a14a
  - >-
    Linux >= ea6d833a3fddcd1d60414d48f34c7f4fbe88608f <
    21d0f05989bf0d5cef57b467a7fa4feefbd7236a
  - >-
    Linux >= ea6d833a3fddcd1d60414d48f34c7f4fbe88608f <
    b5965c4221165045e19736794ca5f48ae3d67142
  - Linux 3.15
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:46:58.093Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98722'
references:
  - url: 'https://git.kernel.org/stable/c/826170a49ca1315af6b293a02200585b1e2186d9'
  - url: 'https://git.kernel.org/stable/c/a991c28066e7ba4da7450bb04478849f7ac6a14a'
  - url: 'https://git.kernel.org/stable/c/21d0f05989bf0d5cef57b467a7fa4feefbd7236a'
  - url: 'https://git.kernel.org/stable/c/b5965c4221165045e19736794ca5f48ae3d67142'
tags:
  - cve.org
ingestedAt: '2026-10-18T16:47:32.509Z'
---

## Overview

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.

## Affected

- `Linux >= ea6d833a3fddcd1d60414d48f34c7f4fbe88608f < 826170a49ca1315af6b293a02200585b1e2186d9`
- `Linux >= ea6d833a3fddcd1d60414d48f34c7f4fbe88608f < a991c28066e7ba4da7450bb04478849f7ac6a14a`
- `Linux >= ea6d833a3fddcd1d60414d48f34c7f4fbe88608f < 21d0f05989bf0d5cef57b467a7fa4feefbd7236a`
- `Linux >= ea6d833a3fddcd1d60414d48f34c7f4fbe88608f < b5965c4221165045e19736794ca5f48ae3d67142`
- `Linux 3.15`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
