]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
tpm: Replace scnprintf() with sysfs_emit() and sysfs_emit_at() in sysfs show functions
authorChelsy Ratnawat <chelsyratnawat2001@gmail.com>
Thu, 26 Jun 2025 12:51:30 +0000 (05:51 -0700)
committerJarkko Sakkinen <jarkko@kernel.org>
Tue, 22 Jul 2025 23:23:18 +0000 (02:23 +0300)
Documentation/filesystems/sysfs.rst mentions that show() should only
use sysfs_emit() or sysfs_emit_at() when formating the value to be
returned to user space. So replace scnprintf() with sysfs_emit().

Signed-off-by: Chelsy Ratnawat <chelsyratnawat2001@gmail.com>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
drivers/char/tpm/tpm_ppi.c

index bc7b1b4501b3b9441fc7a71495e4f1e7f0973824..d53fce1c9d6fe6c9791aeca5d9062782b321f757 100644 (file)
@@ -52,7 +52,7 @@ static ssize_t tpm_show_ppi_version(struct device *dev,
 {
        struct tpm_chip *chip = to_tpm_chip(dev);
 
-       return scnprintf(buf, PAGE_SIZE, "%s\n", chip->ppi_version);
+       return sysfs_emit(buf, "%s\n", chip->ppi_version);
 }
 
 static ssize_t tpm_show_ppi_request(struct device *dev,
@@ -87,12 +87,10 @@ static ssize_t tpm_show_ppi_request(struct device *dev,
                else {
                        req = obj->package.elements[1].integer.value;
                        if (tpm_ppi_req_has_parameter(req))
-                               size = scnprintf(buf, PAGE_SIZE,
-                                   "%llu %llu\n", req,
-                                   obj->package.elements[2].integer.value);
+                               size = sysfs_emit(buf, "%llu %llu\n", req,
+                                                 obj->package.elements[2].integer.value);
                        else
-                               size = scnprintf(buf, PAGE_SIZE,
-                                               "%llu\n", req);
+                               size = sysfs_emit(buf, "%llu\n", req);
                }
        } else if (obj->package.count == 2 &&
            obj->package.elements[0].type == ACPI_TYPE_INTEGER &&
@@ -100,8 +98,8 @@ static ssize_t tpm_show_ppi_request(struct device *dev,
                if (obj->package.elements[0].integer.value)
                        size = -EFAULT;
                else
-                       size = scnprintf(buf, PAGE_SIZE, "%llu\n",
-                                obj->package.elements[1].integer.value);
+                       size = sysfs_emit(buf, "%llu\n",
+                                         obj->package.elements[1].integer.value);
        }
 
        ACPI_FREE(obj);
@@ -211,10 +209,10 @@ static ssize_t tpm_show_ppi_transition_action(struct device *dev,
        }
 
        if (ret < ARRAY_SIZE(info) - 1)
-               status = scnprintf(buf, PAGE_SIZE, "%d: %s\n", ret, info[ret]);
+               status = sysfs_emit(buf, "%d: %s\n", ret, info[ret]);
        else
-               status = scnprintf(buf, PAGE_SIZE, "%d: %s\n", ret,
-                                  info[ARRAY_SIZE(info)-1]);
+               status = sysfs_emit(buf, "%d: %s\n", ret,
+                                   info[ARRAY_SIZE(info) - 1]);
        return status;
 }
 
@@ -255,23 +253,23 @@ static ssize_t tpm_show_ppi_response(struct device *dev,
        res = ret_obj[2].integer.value;
        if (req) {
                if (res == 0)
-                       status = scnprintf(buf, PAGE_SIZE, "%llu %s\n", req,
-                                          "0: Success");
+                       status = sysfs_emit(buf, "%llu %s\n", req,
+                                           "0: Success");
                else if (res == 0xFFFFFFF0)
-                       status = scnprintf(buf, PAGE_SIZE, "%llu %s\n", req,
-                                          "0xFFFFFFF0: User Abort");
+                       status = sysfs_emit(buf, "%llu %s\n", req,
+                                           "0xFFFFFFF0: User Abort");
                else if (res == 0xFFFFFFF1)
-                       status = scnprintf(buf, PAGE_SIZE, "%llu %s\n", req,
-                                          "0xFFFFFFF1: BIOS Failure");
+                       status = sysfs_emit(buf, "%llu %s\n", req,
+                                           "0xFFFFFFF1: BIOS Failure");
                else if (res >= 1 && res <= 0x00000FFF)
-                       status = scnprintf(buf, PAGE_SIZE, "%llu %llu: %s\n",
-                                          req, res, "Corresponding TPM error");
+                       status = sysfs_emit(buf, "%llu %llu: %s\n",
+                                           req, res, "Corresponding TPM error");
                else
-                       status = scnprintf(buf, PAGE_SIZE, "%llu %llu: %s\n",
-                                          req, res, "Error");
+                       status = sysfs_emit(buf, "%llu %llu: %s\n",
+                                           req, res, "Error");
        } else {
-               status = scnprintf(buf, PAGE_SIZE, "%llu: %s\n",
-                                  req, "No Recent Request");
+               status = sysfs_emit(buf, "%llu: %s\n",
+                                   req, "No Recent Request");
        }
 
 cleanup:
@@ -284,7 +282,7 @@ static ssize_t show_ppi_operations(acpi_handle dev_handle, char *buf, u32 start,
 {
        int i;
        u32 ret;
-       char *str = buf;
+       int len = 0;
        union acpi_object *obj, tmp;
        union acpi_object argv = ACPI_INIT_DSM_ARGV4(1, &tmp);
 
@@ -314,11 +312,11 @@ static ssize_t show_ppi_operations(acpi_handle dev_handle, char *buf, u32 start,
                }
 
                if (ret > 0 && ret < ARRAY_SIZE(info))
-                       str += scnprintf(str, PAGE_SIZE, "%d %d: %s\n",
-                                        i, ret, info[ret]);
+                       len += sysfs_emit_at(buf, len, "%d %d: %s\n",
+                                            i, ret, info[ret]);
        }
 
-       return str - buf;
+       return len;
 }
 
 static ssize_t tpm_show_ppi_tcg_operations(struct device *dev,