[PATCH v2] nvdimm/pmem: Propagate devm_init_badblocks() error code
From: Christophe JAILLET
Date: Fri Oct 23 2026 - 15:36:35 EST
Propagate errors from devm_init_badblocks() instead of hard-coding a
-ENOMEM.
This change is a no-op. The sanity check in devm_init_badblocks() can't
fail, so -EINVAL can't be returned. And __badblocks_init() can only return
0 or -ENOMEM.
However, propagating the error code is cleaner and more future proof.
Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
---
Changes in v2:
- rebase with -next-20261023
- Update the commit summary and description. It is not a fix anymore,
just a clean-up. The Fix itself has already been applied in commit
855a46681e0b ("nvdimm/pmem: Release gendisk on probe failure")
v1 (from 2021!):
- https://lore.kernel.org/lkml/f1933a01d9cefe24970ee93d741babb8fe9c1b32.1636219557.git.christophe.jaillet@xxxxxxxxxx/
---
drivers/nvdimm/pmem.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c
index 0766a6949b28..76e80eccc8e7 100644
--- a/drivers/nvdimm/pmem.c
+++ b/drivers/nvdimm/pmem.c
@@ -563,10 +563,9 @@ static int pmem_attach_disk(struct device *dev,
nvdimm_namespace_disk_name(ndns, disk->disk_name);
set_capacity(disk, (pmem->size - pmem->pfn_pad - pmem->data_offset)
/ 512);
- if (devm_init_badblocks(dev, &pmem->bb)) {
- rc = -ENOMEM;
+ rc = devm_init_badblocks(dev, &pmem->bb);
+ if (rc)
goto out;
- }
nvdimm_badblocks_populate(nd_region, &pmem->bb, &bb_range);
disk->bb = &pmem->bb;
--
2.56.0