powerpc/papr_scm: Limit the readability of 'perf_stats' sysfs attribute
authorVaibhav Jain <vaibhav@linux.ibm.com>
Mon, 7 Sep 2020 11:05:40 +0000 (16:35 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 9 Sep 2020 04:44:38 +0000 (14:44 +1000)
The newly introduced 'perf_stats' attribute uses the default access
mode of 0444, allowing non-root users to access performance stats of
an nvdimm and potentially force the kernel into issuing a large number
of expensive hypercalls. Since the information exposed by this
attribute cannot be cached it is better to ward off access to this
attribute from users who don't need to access to these performance
statistics.

Hence update the access mode of 'perf_stats' attribute to be only
readable by root users.

Fixes: 2d02bf835e57 ("powerpc/papr_scm: Fetch nvdimm performance stats from PHYP")
Reported-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200907110540.21349-1-vaibhav@linux.ibm.com
arch/powerpc/platforms/pseries/papr_scm.c

index f439f0dfea7d12cc3522717e0ed1db6af1e82399..a88a707a608aac9243e0a3f37c80259afbfd5798 100644 (file)
@@ -822,7 +822,7 @@ free_stats:
        kfree(stats);
        return rc ? rc : seq_buf_used(&s);
 }
-DEVICE_ATTR_RO(perf_stats);
+DEVICE_ATTR_ADMIN_RO(perf_stats);
 
 static ssize_t flags_show(struct device *dev,
                          struct device_attribute *attr, char *buf)