libnvdimm, namespace: make 'resource' attribute only readable by root
authorDan Williams <dan.j.williams@intel.com>
Tue, 26 Sep 2017 18:21:24 +0000 (11:21 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 Nov 2017 08:39:07 +0000 (08:39 +0000)
commit c1fb3542074fd0c4d901d778bd52455111e4eb6f upstream.

For the same reason that /proc/iomem returns 0's for non-root readers
and acpi tables are root-only, make the 'resource' attribute for
namespace devices only readable by root. Otherwise we disclose physical
address information.

Fixes: bf9bccc14c05 ("libnvdimm: pmem label sets and namespace instantiation")
Reported-by: Dave Hansen <dave.hansen@linux.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 a38ae34b74e4064d9f42794be16bec8db694f395..b8fb1ef1fc1524983a9bc3386a42df16dcb71fcc 100644 (file)
@@ -1451,7 +1451,7 @@ static umode_t namespace_visible(struct kobject *kobj,
        if (a == &dev_attr_resource.attr) {
                if (is_namespace_blk(dev))
                        return 0;
-               return a->mode;
+               return 0400;
        }
 
        if (is_namespace_pmem(dev) || is_namespace_blk(dev)) {