diff options
| author | Thorsten Blum <thorsten.blum@linux.dev> | 2026-04-02 18:50:00 +0200 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2026-04-03 05:07:46 -0600 |
| commit | a175ee8273319547a4be7584da03831a2fb2f835 (patch) | |
| tree | 2c81fde623c6350745d30bc205dd257c6599d25a | |
| parent | 4e56428ed4782e9e1356875af8e714b24c5a8783 (diff) | |
block: use sysfs_emit in sysfs show functions
Replace sprintf() with sysfs_emit() in sysfs show functions.
sysfs_emit() is preferred for formatting sysfs output because it
provides safer bounds checking.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Link: https://patch.msgid.link/20260402164958.894879-4-thorsten.blum@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>
| -rw-r--r-- | block/partitions/core.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/block/partitions/core.c b/block/partitions/core.c index 3b5928836c69..5d5332ce586b 100644 --- a/block/partitions/core.c +++ b/block/partitions/core.c @@ -8,6 +8,7 @@ #include <linux/major.h> #include <linux/slab.h> #include <linux/string.h> +#include <linux/sysfs.h> #include <linux/ctype.h> #include <linux/vmalloc.h> #include <linux/raid/detect.h> @@ -177,31 +178,31 @@ static struct parsed_partitions *check_partition(struct gendisk *hd) static ssize_t part_partition_show(struct device *dev, struct device_attribute *attr, char *buf) { - return sprintf(buf, "%d\n", bdev_partno(dev_to_bdev(dev))); + return sysfs_emit(buf, "%d\n", bdev_partno(dev_to_bdev(dev))); } static ssize_t part_start_show(struct device *dev, struct device_attribute *attr, char *buf) { - return sprintf(buf, "%llu\n", dev_to_bdev(dev)->bd_start_sect); + return sysfs_emit(buf, "%llu\n", dev_to_bdev(dev)->bd_start_sect); } static ssize_t part_ro_show(struct device *dev, struct device_attribute *attr, char *buf) { - return sprintf(buf, "%d\n", bdev_read_only(dev_to_bdev(dev))); + return sysfs_emit(buf, "%d\n", bdev_read_only(dev_to_bdev(dev))); } static ssize_t part_alignment_offset_show(struct device *dev, struct device_attribute *attr, char *buf) { - return sprintf(buf, "%u\n", bdev_alignment_offset(dev_to_bdev(dev))); + return sysfs_emit(buf, "%u\n", bdev_alignment_offset(dev_to_bdev(dev))); } static ssize_t part_discard_alignment_show(struct device *dev, struct device_attribute *attr, char *buf) { - return sprintf(buf, "%u\n", bdev_discard_alignment(dev_to_bdev(dev))); + return sysfs_emit(buf, "%u\n", bdev_discard_alignment(dev_to_bdev(dev))); } static DEVICE_ATTR(partition, 0444, part_partition_show, NULL); |
