Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4be9c1fc authored by Axel Lin's avatar Axel Lin Committed by Dan Williams
Browse files

libnvdimm: btt_devs: Fix locking in namespace_store



Always take device_lock() before nvdimm_bus_lock() to prevent deadlock.

Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent f0b2e563
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -128,13 +128,13 @@ static ssize_t namespace_store(struct device *dev,
	struct nd_btt *nd_btt = to_nd_btt(dev);
	ssize_t rc;

	nvdimm_bus_lock(dev);
	device_lock(dev);
	nvdimm_bus_lock(dev);
	rc = nd_namespace_store(dev, &nd_btt->ndns, buf, len);
	dev_dbg(dev, "%s: result: %zd wrote: %s%s", __func__,
			rc, buf, buf[len - 1] == '\n' ? "" : "\n");
	device_unlock(dev);
	nvdimm_bus_unlock(dev);
	device_unlock(dev);

	return rc;
}