libnvdimm/namespace: Fix visibility of namespace resource attribute
authorDan Williams <dan.j.williams@intel.com>
Wed, 13 Jan 2021 07:35:50 +0000 (23:35 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Feb 2021 08:29:16 +0000 (09:29 +0100)
commit 13f445d65955f388499f00851dc9a86280970f7c upstream.

Legacy pmem namespaces lost support for the "resource" attribute when
the code was cleaned up to put the permission visibility in the
declaration. Restore this by listing 'resource' in the default
attributes.

A new ndctl regression test for pfn_to_online_page() corner cases builds
on this fix.

Fixes: bfd2e9140656 ("libnvdimm: Simplify root read-only definition for the 'resource' attribute")
Cc: Vishal Verma <vishal.l.verma@intel.com>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/161052334995.1805594.12054873528154362921.stgit@dwillia2-desk3.amr.corp.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvdimm/namespace_devs.c

index 6da67f4d641a27c038d1b37080374b500c91a387..2403b71b601e94a1baf3613c1f4c4663f6cd0392 100644 (file)
@@ -1635,11 +1635,11 @@ static umode_t namespace_visible(struct kobject *kobj,
                return a->mode;
        }
 
-       if (a == &dev_attr_nstype.attr || a == &dev_attr_size.attr
-                       || a == &dev_attr_holder.attr
-                       || a == &dev_attr_holder_class.attr
-                       || a == &dev_attr_force_raw.attr
-                       || a == &dev_attr_mode.attr)
+       /* base is_namespace_io() attributes */
+       if (a == &dev_attr_nstype.attr || a == &dev_attr_size.attr ||
+           a == &dev_attr_holder.attr || a == &dev_attr_holder_class.attr ||
+           a == &dev_attr_force_raw.attr || a == &dev_attr_mode.attr ||
+           a == &dev_attr_resource.attr)
                return a->mode;
 
        return 0;