Message ID | 170303851337.2238503.5103082574938957743.stgit@dwillia2-xfh.jf.intel.com (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | acpi/nfit: Use sysfs_emit() for all attributes | expand |
On Tue, Dec 19, 2023 at 06:15:13PM -0800, Dan Williams wrote: > sysfs_emit() properly handles the PAGE_SIZE limitation of populating > sysfs attribute buffers. Clean up the deprecated usage of sprintf() in > all of nfit's sysfs show() handlers. > > Reported-by: Ben Dooks <ben.dooks@codethink.co.uk> > Closes: http://lore.kernel.org/0d1bf461-d9e8-88bc-b7e2-b03b56594213@codethink.co.uk > Cc: Alison Schofield <alison.schofield@intel.com> > Cc: Dave Jiang <dave.jiang@intel.com> > Signed-off-by: Dan Williams <dan.j.williams@intel.com> Reviewed-by: Alison Schofield <alison.schofield@intel.com> > --- > drivers/acpi/nfit/core.c | 44 ++++++++++++++++++++++---------------------- > 1 file changed, 22 insertions(+), 22 deletions(-) >
On 12/19/23 19:15, Dan Williams wrote: > sysfs_emit() properly handles the PAGE_SIZE limitation of populating > sysfs attribute buffers. Clean up the deprecated usage of sprintf() in > all of nfit's sysfs show() handlers. > > Reported-by: Ben Dooks <ben.dooks@codethink.co.uk> > Closes: http://lore.kernel.org/0d1bf461-d9e8-88bc-b7e2-b03b56594213@codethink.co.uk > Cc: Alison Schofield <alison.schofield@intel.com> > Cc: Dave Jiang <dave.jiang@intel.com> > Signed-off-by: Dan Williams <dan.j.williams@intel.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> > --- > drivers/acpi/nfit/core.c | 44 ++++++++++++++++++++++---------------------- > 1 file changed, 22 insertions(+), 22 deletions(-) > > diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c > index 992385537757..9f44156c6181 100644 > --- a/drivers/acpi/nfit/core.c > +++ b/drivers/acpi/nfit/core.c > @@ -1186,7 +1186,7 @@ static ssize_t bus_dsm_mask_show(struct device *dev, > struct nvdimm_bus_descriptor *nd_desc = to_nd_desc(nvdimm_bus); > struct acpi_nfit_desc *acpi_desc = to_acpi_desc(nd_desc); > > - return sprintf(buf, "%#lx\n", acpi_desc->bus_dsm_mask); > + return sysfs_emit(buf, "%#lx\n", acpi_desc->bus_dsm_mask); > } > static struct device_attribute dev_attr_bus_dsm_mask = > __ATTR(dsm_mask, 0444, bus_dsm_mask_show, NULL); > @@ -1198,7 +1198,7 @@ static ssize_t revision_show(struct device *dev, > struct nvdimm_bus_descriptor *nd_desc = to_nd_desc(nvdimm_bus); > struct acpi_nfit_desc *acpi_desc = to_acpi_desc(nd_desc); > > - return sprintf(buf, "%d\n", acpi_desc->acpi_header.revision); > + return sysfs_emit(buf, "%d\n", acpi_desc->acpi_header.revision); > } > static DEVICE_ATTR_RO(revision); > > @@ -1209,7 +1209,7 @@ static ssize_t hw_error_scrub_show(struct device *dev, > struct nvdimm_bus_descriptor *nd_desc = to_nd_desc(nvdimm_bus); > struct acpi_nfit_desc *acpi_desc = to_acpi_desc(nd_desc); > > - return sprintf(buf, "%d\n", acpi_desc->scrub_mode); > + return sysfs_emit(buf, "%d\n", acpi_desc->scrub_mode); > } > > /* > @@ -1278,7 +1278,7 @@ static ssize_t scrub_show(struct device *dev, > mutex_lock(&acpi_desc->init_mutex); > busy = test_bit(ARS_BUSY, &acpi_desc->scrub_flags) > && !test_bit(ARS_CANCEL, &acpi_desc->scrub_flags); > - rc = sprintf(buf, "%d%s", acpi_desc->scrub_count, busy ? "+\n" : "\n"); > + rc = sysfs_emit(buf, "%d%s", acpi_desc->scrub_count, busy ? "+\n" : "\n"); > /* Allow an admin to poll the busy state at a higher rate */ > if (busy && capable(CAP_SYS_RAWIO) && !test_and_set_bit(ARS_POLL, > &acpi_desc->scrub_flags)) { > @@ -1382,7 +1382,7 @@ static ssize_t handle_show(struct device *dev, > { > struct acpi_nfit_memory_map *memdev = to_nfit_memdev(dev); > > - return sprintf(buf, "%#x\n", memdev->device_handle); > + return sysfs_emit(buf, "%#x\n", memdev->device_handle); > } > static DEVICE_ATTR_RO(handle); > > @@ -1391,7 +1391,7 @@ static ssize_t phys_id_show(struct device *dev, > { > struct acpi_nfit_memory_map *memdev = to_nfit_memdev(dev); > > - return sprintf(buf, "%#x\n", memdev->physical_id); > + return sysfs_emit(buf, "%#x\n", memdev->physical_id); > } > static DEVICE_ATTR_RO(phys_id); > > @@ -1400,7 +1400,7 @@ static ssize_t vendor_show(struct device *dev, > { > struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); > > - return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->vendor_id)); > + return sysfs_emit(buf, "0x%04x\n", be16_to_cpu(dcr->vendor_id)); > } > static DEVICE_ATTR_RO(vendor); > > @@ -1409,7 +1409,7 @@ static ssize_t rev_id_show(struct device *dev, > { > struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); > > - return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->revision_id)); > + return sysfs_emit(buf, "0x%04x\n", be16_to_cpu(dcr->revision_id)); > } > static DEVICE_ATTR_RO(rev_id); > > @@ -1418,7 +1418,7 @@ static ssize_t device_show(struct device *dev, > { > struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); > > - return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->device_id)); > + return sysfs_emit(buf, "0x%04x\n", be16_to_cpu(dcr->device_id)); > } > static DEVICE_ATTR_RO(device); > > @@ -1427,7 +1427,7 @@ static ssize_t subsystem_vendor_show(struct device *dev, > { > struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); > > - return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->subsystem_vendor_id)); > + return sysfs_emit(buf, "0x%04x\n", be16_to_cpu(dcr->subsystem_vendor_id)); > } > static DEVICE_ATTR_RO(subsystem_vendor); > > @@ -1436,7 +1436,7 @@ static ssize_t subsystem_rev_id_show(struct device *dev, > { > struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); > > - return sprintf(buf, "0x%04x\n", > + return sysfs_emit(buf, "0x%04x\n", > be16_to_cpu(dcr->subsystem_revision_id)); > } > static DEVICE_ATTR_RO(subsystem_rev_id); > @@ -1446,7 +1446,7 @@ static ssize_t subsystem_device_show(struct device *dev, > { > struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); > > - return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->subsystem_device_id)); > + return sysfs_emit(buf, "0x%04x\n", be16_to_cpu(dcr->subsystem_device_id)); > } > static DEVICE_ATTR_RO(subsystem_device); > > @@ -1465,7 +1465,7 @@ static ssize_t format_show(struct device *dev, > { > struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); > > - return sprintf(buf, "0x%04x\n", le16_to_cpu(dcr->code)); > + return sysfs_emit(buf, "0x%04x\n", le16_to_cpu(dcr->code)); > } > static DEVICE_ATTR_RO(format); > > @@ -1498,7 +1498,7 @@ static ssize_t format1_show(struct device *dev, > continue; > if (nfit_dcr->dcr->code == dcr->code) > continue; > - rc = sprintf(buf, "0x%04x\n", > + rc = sysfs_emit(buf, "0x%04x\n", > le16_to_cpu(nfit_dcr->dcr->code)); > break; > } > @@ -1515,7 +1515,7 @@ static ssize_t formats_show(struct device *dev, > { > struct nvdimm *nvdimm = to_nvdimm(dev); > > - return sprintf(buf, "%d\n", num_nvdimm_formats(nvdimm)); > + return sysfs_emit(buf, "%d\n", num_nvdimm_formats(nvdimm)); > } > static DEVICE_ATTR_RO(formats); > > @@ -1524,7 +1524,7 @@ static ssize_t serial_show(struct device *dev, > { > struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); > > - return sprintf(buf, "0x%08x\n", be32_to_cpu(dcr->serial_number)); > + return sysfs_emit(buf, "0x%08x\n", be32_to_cpu(dcr->serial_number)); > } > static DEVICE_ATTR_RO(serial); > > @@ -1536,7 +1536,7 @@ static ssize_t family_show(struct device *dev, > > if (nfit_mem->family < 0) > return -ENXIO; > - return sprintf(buf, "%d\n", nfit_mem->family); > + return sysfs_emit(buf, "%d\n", nfit_mem->family); > } > static DEVICE_ATTR_RO(family); > > @@ -1548,7 +1548,7 @@ static ssize_t dsm_mask_show(struct device *dev, > > if (nfit_mem->family < 0) > return -ENXIO; > - return sprintf(buf, "%#lx\n", nfit_mem->dsm_mask); > + return sysfs_emit(buf, "%#lx\n", nfit_mem->dsm_mask); > } > static DEVICE_ATTR_RO(dsm_mask); > > @@ -1562,7 +1562,7 @@ static ssize_t flags_show(struct device *dev, > if (test_bit(NFIT_MEM_DIRTY, &nfit_mem->flags)) > flags |= ACPI_NFIT_MEM_FLUSH_FAILED; > > - return sprintf(buf, "%s%s%s%s%s%s%s\n", > + return sysfs_emit(buf, "%s%s%s%s%s%s%s\n", > flags & ACPI_NFIT_MEM_SAVE_FAILED ? "save_fail " : "", > flags & ACPI_NFIT_MEM_RESTORE_FAILED ? "restore_fail " : "", > flags & ACPI_NFIT_MEM_FLUSH_FAILED ? "flush_fail " : "", > @@ -1579,7 +1579,7 @@ static ssize_t id_show(struct device *dev, > struct nvdimm *nvdimm = to_nvdimm(dev); > struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); > > - return sprintf(buf, "%s\n", nfit_mem->id); > + return sysfs_emit(buf, "%s\n", nfit_mem->id); > } > static DEVICE_ATTR_RO(id); > > @@ -1589,7 +1589,7 @@ static ssize_t dirty_shutdown_show(struct device *dev, > struct nvdimm *nvdimm = to_nvdimm(dev); > struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); > > - return sprintf(buf, "%d\n", nfit_mem->dirty_shutdown); > + return sysfs_emit(buf, "%d\n", nfit_mem->dirty_shutdown); > } > static DEVICE_ATTR_RO(dirty_shutdown); > > @@ -2172,7 +2172,7 @@ static ssize_t range_index_show(struct device *dev, > struct nd_region *nd_region = to_nd_region(dev); > struct nfit_spa *nfit_spa = nd_region_provider_data(nd_region); > > - return sprintf(buf, "%d\n", nfit_spa->spa->range_index); > + return sysfs_emit(buf, "%d\n", nfit_spa->spa->range_index); > } > static DEVICE_ATTR_RO(range_index); > >
diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c index 992385537757..9f44156c6181 100644 --- a/drivers/acpi/nfit/core.c +++ b/drivers/acpi/nfit/core.c @@ -1186,7 +1186,7 @@ static ssize_t bus_dsm_mask_show(struct device *dev, struct nvdimm_bus_descriptor *nd_desc = to_nd_desc(nvdimm_bus); struct acpi_nfit_desc *acpi_desc = to_acpi_desc(nd_desc); - return sprintf(buf, "%#lx\n", acpi_desc->bus_dsm_mask); + return sysfs_emit(buf, "%#lx\n", acpi_desc->bus_dsm_mask); } static struct device_attribute dev_attr_bus_dsm_mask = __ATTR(dsm_mask, 0444, bus_dsm_mask_show, NULL); @@ -1198,7 +1198,7 @@ static ssize_t revision_show(struct device *dev, struct nvdimm_bus_descriptor *nd_desc = to_nd_desc(nvdimm_bus); struct acpi_nfit_desc *acpi_desc = to_acpi_desc(nd_desc); - return sprintf(buf, "%d\n", acpi_desc->acpi_header.revision); + return sysfs_emit(buf, "%d\n", acpi_desc->acpi_header.revision); } static DEVICE_ATTR_RO(revision); @@ -1209,7 +1209,7 @@ static ssize_t hw_error_scrub_show(struct device *dev, struct nvdimm_bus_descriptor *nd_desc = to_nd_desc(nvdimm_bus); struct acpi_nfit_desc *acpi_desc = to_acpi_desc(nd_desc); - return sprintf(buf, "%d\n", acpi_desc->scrub_mode); + return sysfs_emit(buf, "%d\n", acpi_desc->scrub_mode); } /* @@ -1278,7 +1278,7 @@ static ssize_t scrub_show(struct device *dev, mutex_lock(&acpi_desc->init_mutex); busy = test_bit(ARS_BUSY, &acpi_desc->scrub_flags) && !test_bit(ARS_CANCEL, &acpi_desc->scrub_flags); - rc = sprintf(buf, "%d%s", acpi_desc->scrub_count, busy ? "+\n" : "\n"); + rc = sysfs_emit(buf, "%d%s", acpi_desc->scrub_count, busy ? "+\n" : "\n"); /* Allow an admin to poll the busy state at a higher rate */ if (busy && capable(CAP_SYS_RAWIO) && !test_and_set_bit(ARS_POLL, &acpi_desc->scrub_flags)) { @@ -1382,7 +1382,7 @@ static ssize_t handle_show(struct device *dev, { struct acpi_nfit_memory_map *memdev = to_nfit_memdev(dev); - return sprintf(buf, "%#x\n", memdev->device_handle); + return sysfs_emit(buf, "%#x\n", memdev->device_handle); } static DEVICE_ATTR_RO(handle); @@ -1391,7 +1391,7 @@ static ssize_t phys_id_show(struct device *dev, { struct acpi_nfit_memory_map *memdev = to_nfit_memdev(dev); - return sprintf(buf, "%#x\n", memdev->physical_id); + return sysfs_emit(buf, "%#x\n", memdev->physical_id); } static DEVICE_ATTR_RO(phys_id); @@ -1400,7 +1400,7 @@ static ssize_t vendor_show(struct device *dev, { struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); - return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->vendor_id)); + return sysfs_emit(buf, "0x%04x\n", be16_to_cpu(dcr->vendor_id)); } static DEVICE_ATTR_RO(vendor); @@ -1409,7 +1409,7 @@ static ssize_t rev_id_show(struct device *dev, { struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); - return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->revision_id)); + return sysfs_emit(buf, "0x%04x\n", be16_to_cpu(dcr->revision_id)); } static DEVICE_ATTR_RO(rev_id); @@ -1418,7 +1418,7 @@ static ssize_t device_show(struct device *dev, { struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); - return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->device_id)); + return sysfs_emit(buf, "0x%04x\n", be16_to_cpu(dcr->device_id)); } static DEVICE_ATTR_RO(device); @@ -1427,7 +1427,7 @@ static ssize_t subsystem_vendor_show(struct device *dev, { struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); - return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->subsystem_vendor_id)); + return sysfs_emit(buf, "0x%04x\n", be16_to_cpu(dcr->subsystem_vendor_id)); } static DEVICE_ATTR_RO(subsystem_vendor); @@ -1436,7 +1436,7 @@ static ssize_t subsystem_rev_id_show(struct device *dev, { struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); - return sprintf(buf, "0x%04x\n", + return sysfs_emit(buf, "0x%04x\n", be16_to_cpu(dcr->subsystem_revision_id)); } static DEVICE_ATTR_RO(subsystem_rev_id); @@ -1446,7 +1446,7 @@ static ssize_t subsystem_device_show(struct device *dev, { struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); - return sprintf(buf, "0x%04x\n", be16_to_cpu(dcr->subsystem_device_id)); + return sysfs_emit(buf, "0x%04x\n", be16_to_cpu(dcr->subsystem_device_id)); } static DEVICE_ATTR_RO(subsystem_device); @@ -1465,7 +1465,7 @@ static ssize_t format_show(struct device *dev, { struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); - return sprintf(buf, "0x%04x\n", le16_to_cpu(dcr->code)); + return sysfs_emit(buf, "0x%04x\n", le16_to_cpu(dcr->code)); } static DEVICE_ATTR_RO(format); @@ -1498,7 +1498,7 @@ static ssize_t format1_show(struct device *dev, continue; if (nfit_dcr->dcr->code == dcr->code) continue; - rc = sprintf(buf, "0x%04x\n", + rc = sysfs_emit(buf, "0x%04x\n", le16_to_cpu(nfit_dcr->dcr->code)); break; } @@ -1515,7 +1515,7 @@ static ssize_t formats_show(struct device *dev, { struct nvdimm *nvdimm = to_nvdimm(dev); - return sprintf(buf, "%d\n", num_nvdimm_formats(nvdimm)); + return sysfs_emit(buf, "%d\n", num_nvdimm_formats(nvdimm)); } static DEVICE_ATTR_RO(formats); @@ -1524,7 +1524,7 @@ static ssize_t serial_show(struct device *dev, { struct acpi_nfit_control_region *dcr = to_nfit_dcr(dev); - return sprintf(buf, "0x%08x\n", be32_to_cpu(dcr->serial_number)); + return sysfs_emit(buf, "0x%08x\n", be32_to_cpu(dcr->serial_number)); } static DEVICE_ATTR_RO(serial); @@ -1536,7 +1536,7 @@ static ssize_t family_show(struct device *dev, if (nfit_mem->family < 0) return -ENXIO; - return sprintf(buf, "%d\n", nfit_mem->family); + return sysfs_emit(buf, "%d\n", nfit_mem->family); } static DEVICE_ATTR_RO(family); @@ -1548,7 +1548,7 @@ static ssize_t dsm_mask_show(struct device *dev, if (nfit_mem->family < 0) return -ENXIO; - return sprintf(buf, "%#lx\n", nfit_mem->dsm_mask); + return sysfs_emit(buf, "%#lx\n", nfit_mem->dsm_mask); } static DEVICE_ATTR_RO(dsm_mask); @@ -1562,7 +1562,7 @@ static ssize_t flags_show(struct device *dev, if (test_bit(NFIT_MEM_DIRTY, &nfit_mem->flags)) flags |= ACPI_NFIT_MEM_FLUSH_FAILED; - return sprintf(buf, "%s%s%s%s%s%s%s\n", + return sysfs_emit(buf, "%s%s%s%s%s%s%s\n", flags & ACPI_NFIT_MEM_SAVE_FAILED ? "save_fail " : "", flags & ACPI_NFIT_MEM_RESTORE_FAILED ? "restore_fail " : "", flags & ACPI_NFIT_MEM_FLUSH_FAILED ? "flush_fail " : "", @@ -1579,7 +1579,7 @@ static ssize_t id_show(struct device *dev, struct nvdimm *nvdimm = to_nvdimm(dev); struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); - return sprintf(buf, "%s\n", nfit_mem->id); + return sysfs_emit(buf, "%s\n", nfit_mem->id); } static DEVICE_ATTR_RO(id); @@ -1589,7 +1589,7 @@ static ssize_t dirty_shutdown_show(struct device *dev, struct nvdimm *nvdimm = to_nvdimm(dev); struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); - return sprintf(buf, "%d\n", nfit_mem->dirty_shutdown); + return sysfs_emit(buf, "%d\n", nfit_mem->dirty_shutdown); } static DEVICE_ATTR_RO(dirty_shutdown); @@ -2172,7 +2172,7 @@ static ssize_t range_index_show(struct device *dev, struct nd_region *nd_region = to_nd_region(dev); struct nfit_spa *nfit_spa = nd_region_provider_data(nd_region); - return sprintf(buf, "%d\n", nfit_spa->spa->range_index); + return sysfs_emit(buf, "%d\n", nfit_spa->spa->range_index); } static DEVICE_ATTR_RO(range_index);
sysfs_emit() properly handles the PAGE_SIZE limitation of populating sysfs attribute buffers. Clean up the deprecated usage of sprintf() in all of nfit's sysfs show() handlers. Reported-by: Ben Dooks <ben.dooks@codethink.co.uk> Closes: http://lore.kernel.org/0d1bf461-d9e8-88bc-b7e2-b03b56594213@codethink.co.uk Cc: Alison Schofield <alison.schofield@intel.com> Cc: Dave Jiang <dave.jiang@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> --- drivers/acpi/nfit/core.c | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-)