On Sun, Oct 11, 2026 at 09:18:57PM +0800, [email protected] wrote: > From: Jianyun Gao <[email protected]> > > When the region driver is not loaded, mapping_store() returns rc > which is 0 at that point, instead of an error code. Set it to > -ENXIO to match the equivalent check in size_store().
Hi Jianyun, The change looks correct, but there is another path in mapping_store() with the same problem. When alloc_is_aligned() fails, rc is still zero, so the sysfs write reports success without allocating the requested range. Muchun Song already posted a patch addressing both cases. https://lore.kernel.org/nvdimm/[email protected]/ Please take a look and add your reviewed-by tag to Muchun's patchset or comment if it doesn't meet your needs. -- Alison > > Fixes: 9567da0b408a ("device-dax: Introduce bus + driver model") > Signed-off-by: Jianyun Gao <[email protected]> > --- > drivers/dax/bus.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c > index b809e1a264af..262f97b5e7aa 100644 > --- a/drivers/dax/bus.c > +++ b/drivers/dax/bus.c > @@ -1192,7 +1192,7 @@ static ssize_t mapping_store(struct device *dev, struct > device_attribute *attr, > return rc; > if (!dax_region->dev->driver) { > up_write(&dax_region_rwsem); > - return rc; > + return -ENXIO; > } > rc = down_write_killable(&dax_dev_rwsem); > if (rc) { > -- > 2.34.1 >

