mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable.git
synced 2025-11-02 03:40:21 +10:00
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>
This commit is contained in:
parent
c5fccfe9e4
commit
48925ba7df
@ -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) \
|
||||
|
||||
Loading…
Reference in New Issue
Block a user