diff options
| author | Jonathan Velez <jonvelez12345@gmail.com> | 2025-07-09 13:33:30 +0000 |
|---|---|---|
| committer | Niklas Cassel <cassel@kernel.org> | 2025-07-09 15:48:17 +0200 |
| commit | 48925ba7dfa7337f54c5bae6738b2f0bb4055b06 (patch) | |
| tree | c6e1c6ac137dc20bbc290b201696baa482dd8a08 /drivers/ata | |
| parent | c5fccfe9e4e9d210a7e9de1ecb96c6edc33a518c (diff) | |
ata: libata-transport: replace scnprintf with sysfs_emit for simple attributes
sprintf, snprintf, and scnprintf do not consider the PAGE_SIZE maximum
of the temporary buffer used for outputting sysfs content and they may
overrun the PAGE_SIZE buffer length.
To avoid output defects with the ATA transport class simple attributes,
use sysfs_emit instead of scnprintf().
This aligns with the sysfs guidance provided in
Documentation/filesystems/sysfs.rst.
Signed-off-by: Jonathan Velez <jonvelez12345@gmail.com>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Link: https://lore.kernel.org/r/20250709133330.3546-1-jonvelez12345@gmail.com
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Diffstat (limited to 'drivers/ata')
| -rw-r--r-- | drivers/ata/libata-transport.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ata/libata-transport.c b/drivers/ata/libata-transport.c index e898be49df6b..62415fe67a11 100644 --- a/drivers/ata/libata-transport.c +++ b/drivers/ata/libata-transport.c @@ -202,7 +202,7 @@ show_ata_port_##name(struct device *dev, \ { \ struct ata_port *ap = transport_class_to_port(dev); \ \ - return scnprintf(buf, 20, format_string, cast ap->field); \ + return sysfs_emit(buf, format_string, cast ap->field); \ } #define ata_port_simple_attr(field, name, format_string, type) \ @@ -389,7 +389,7 @@ show_ata_dev_##field(struct device *dev, \ { \ struct ata_device *ata_dev = transport_class_to_dev(dev); \ \ - return scnprintf(buf, 20, format_string, cast ata_dev->field); \ + return sysfs_emit(buf, format_string, cast ata_dev->field); \ } #define ata_dev_simple_attr(field, format_string, type) \ |
