dmapool: use sysfs_emit() instead of scnprintf()
authorTony Battersby <tonyb@cybernetics.com>
Thu, 26 Jan 2023 21:51:16 +0000 (13:51 -0800)
committerAndrew Morton <akpm@linux-foundation.org>
Sat, 6 May 2023 17:33:36 +0000 (10:33 -0700)
Use sysfs_emit instead of scnprintf, snprintf or sprintf.

Link: https://lkml.kernel.org/r/20230126215125.4069751-4-kbusch@meta.com
Fixes: 2d55c16c0c54 ("dmapool: create/destroy cleanup")
Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/dmapool.c

index 559207e1c3339e2b36ccc885d2f4bb2113f464d5..20616b760bb9cebfd767c9a26fea6dbb0d7e9bb6 100644 (file)
@@ -64,18 +64,11 @@ static DEFINE_MUTEX(pools_reg_lock);
 
 static ssize_t pools_show(struct device *dev, struct device_attribute *attr, char *buf)
 {
-       unsigned temp;
-       unsigned size;
-       char *next;
+       int size;
        struct dma_page *page;
        struct dma_pool *pool;
 
-       next = buf;
-       size = PAGE_SIZE;
-
-       temp = scnprintf(next, size, "poolinfo - 0.1\n");
-       size -= temp;
-       next += temp;
+       size = sysfs_emit(buf, "poolinfo - 0.1\n");
 
        mutex_lock(&pools_lock);
        list_for_each_entry(pool, &dev->dma_pools, pools) {
@@ -90,16 +83,14 @@ static ssize_t pools_show(struct device *dev, struct device_attribute *attr, cha
                spin_unlock_irq(&pool->lock);
 
                /* per-pool info, no real statistics yet */
-               temp = scnprintf(next, size, "%-16s %4u %4zu %4zu %2u\n",
-                                pool->name, blocks,
-                                pages * (pool->allocation / pool->size),
-                                pool->size, pages);
-               size -= temp;
-               next += temp;
+               size += sysfs_emit_at(buf, size, "%-16s %4u %4zu %4zu %2u\n",
+                                     pool->name, blocks,
+                                     pages * (pool->allocation / pool->size),
+                                     pool->size, pages);
        }
        mutex_unlock(&pools_lock);
 
-       return PAGE_SIZE - size;
+       return size;
 }
 
 static DEVICE_ATTR_RO(pools);