drivers core: Use sysfs_emit for shared_cpu_map_show and shared_cpu_list_show
authorJoe Perches <joe@perches.com>
Wed, 16 Sep 2020 20:40:44 +0000 (13:40 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 Oct 2020 11:24:40 +0000 (13:24 +0200)
Do not indirect the bitmap printing of these shared_cpu show functions by
using cpumap_print_to_pagebuf/bitmap_print_to_pagebuf.

Use the more typical style with the vsnprintf %*pb and %*pbl extensions
directly so there is no possible mixup about the use of offset_in_page(buf)
by bitmap_print_to_pagebuf.

Signed-off-by: Joe Perches <joe@perches.com>
Link: https://lore.kernel.org/r/80457b467ab6cde13a173cfd8a4f49cd8467a7fd.1600285923.git.joe@perches.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/cacheinfo.c

index 4946647bd98553ba8afca5493f4f358e68b6fce0..bfc095956dd11b9b64c15fc97228dc2920d9a3a7 100644 (file)
@@ -380,24 +380,22 @@ static ssize_t size_show(struct device *dev,
        return sysfs_emit(buf, "%uK\n", this_leaf->size >> 10);
 }
 
-static ssize_t shared_cpumap_show_func(struct device *dev, bool list, char *buf)
+static ssize_t shared_cpu_map_show(struct device *dev,
+                                  struct device_attribute *attr, char *buf)
 {
        struct cacheinfo *this_leaf = dev_get_drvdata(dev);
        const struct cpumask *mask = &this_leaf->shared_cpu_map;
 
-       return cpumap_print_to_pagebuf(list, buf, mask);
-}
-
-static ssize_t shared_cpu_map_show(struct device *dev,
-                                  struct device_attribute *attr, char *buf)
-{
-       return shared_cpumap_show_func(dev, false, buf);
+       return sysfs_emit(buf, "%*pb\n", nr_cpu_ids, mask);
 }
 
 static ssize_t shared_cpu_list_show(struct device *dev,
                                    struct device_attribute *attr, char *buf)
 {
-       return shared_cpumap_show_func(dev, true, buf);
+       struct cacheinfo *this_leaf = dev_get_drvdata(dev);
+       const struct cpumask *mask = &this_leaf->shared_cpu_map;
+
+       return sysfs_emit(buf, "%*pbl\n", nr_cpu_ids, mask);
 }
 
 static ssize_t type_show(struct device *dev,