CVE-2025-38072

libnvdimm/labels: Fix divide error in nd_label_data_init()

State
Published
Severity
Not scored
Published
Jun 18, 2025
Updated
May 11, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

libnvdimm/labels: Fix divide error in nd_label_data_init()

If a faulty CXL memory device returns a broken zero LSA size in its memory device information (Identify Memory Device (Opcode 4000h), CXL spec. 3.1, 8.2.9.9.1.1), a divide error occurs in the libnvdimm driver:

Oops: divide error: 0000 [#1] PREEMPT SMP NOPTI RIP: 0010:nd_label_data_init+0x10e/0x800 [libnvdimm]

Code and flow:

1) CXL Command 4000h returns LSA size = 0 2) config_size is assigned to zero LSA size (CXL pmem driver):

drivers/cxl/pmem.c: .config_size = mds->lsa_size,

3) max_xfer is set to zero (nvdimm driver):

drivers/nvdimm/label.c: max_xfer = min_t(size_t, ndd->nsarea.max_xfer, config_size);

4) A subsequent DIV_ROUND_UP() causes a division by zero:

drivers/nvdimm/label.c: /* Make our initial read size a multiple of max_xfer size */ drivers/nvdimm/label.c: read_size = min(DIV_ROUND_UP(read_size, max_xfer) * max_xfer, drivers/nvdimm/label.c- config_size);

Fix this by checking the config size parameter by extending an existing check.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 7d47aad4570e5e6e9a8162bb417ca9b74132f27c to before 2bd4a938d2eda96ab7288b8fa5aae84a1de8c4caAffected
  • 7d47aad4570e5e6e9a8162bb417ca9b74132f27c to before 396c46d3f59a18ebcc500640e749f16e197d472bAffected
  • 7d47aad4570e5e6e9a8162bb417ca9b74132f27c to before f49c337037df029440a8390380dd35d2cf5924d3Affected
  • 7d47aad4570e5e6e9a8162bb417ca9b74132f27c to before db1aef51b8e66a77f76b1250b914589c31a0a0edAffected
  • 7d47aad4570e5e6e9a8162bb417ca9b74132f27c to before ea3d95e05e97ea20fd6513f647393add16fce3b2Affected
  • 7d47aad4570e5e6e9a8162bb417ca9b74132f27c to before 1d1e1efad1cf049e888bf175a5c6be85d792620cAffected
  • 7d47aad4570e5e6e9a8162bb417ca9b74132f27c to before e14347f647ca6d76fe1509b6703e340f2d5e2716Affected
  • 7d47aad4570e5e6e9a8162bb417ca9b74132f27c to before ef1d3455bbc1922f94a91ed58d3d7db440652959Affected
LinuxLinux
  • 4.20Affected
  • before 4.20Not affected
  • 5.4.294 through 5.4.*Not affected
  • 5.10.238 through 5.10.*Not affected
  • 5.15.185 through 5.15.*Not affected
  • 6.1.141 through 6.1.*Not affected
  • 6.6.93 through 6.6.*Not affected
  • 6.12.31 through 6.12.*Not affected
  • 6.14.9 through 6.14.*Not affected
  • 6.15 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.