Commit e5670563 authored by Dan Williams's avatar Dan Williams

libnvdimm, pfn: fix uuid validation

If we detect a namespace has a stale info block in the init path, we
should overwrite with the latest configuration.  In fact, we already
return -ENODEV when the parent uuid is invalid, the same should be done
for the 'self' uuid.  Otherwise we can get into a condition where
userspace is unable to reconfigure the pfn-device without directly /
manually invalidating the info block.

Cc: <stable@vger.kernel.org>
Reported-by: default avatarJeff Moyer <jmoyer@redhat.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 21129112
...@@ -376,7 +376,7 @@ int nd_pfn_validate(struct nd_pfn *nd_pfn) ...@@ -376,7 +376,7 @@ int nd_pfn_validate(struct nd_pfn *nd_pfn)
} else { } else {
/* from init we validate */ /* from init we validate */
if (memcmp(nd_pfn->uuid, pfn_sb->uuid, 16) != 0) if (memcmp(nd_pfn->uuid, pfn_sb->uuid, 16) != 0)
return -EINVAL; return -ENODEV;
} }
if (nd_pfn->align > nvdimm_namespace_capacity(ndns)) { if (nd_pfn->align > nvdimm_namespace_capacity(ndns)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment