SUNRPC: Use sysfs_emit in place of strlcpy/sprintf
authorAzeem Shaikh <azeemshaikh38@gmail.com>
Wed, 14 Jun 2023 13:37:57 +0000 (13:37 +0000)
committerChuck Lever <chuck.lever@oracle.com>
Sat, 17 Jun 2023 17:18:07 +0000 (13:18 -0400)
Part of an effort to remove strlcpy() tree-wide [1].

Direct replacement is safe here since the getter in kernel_params_ops
handles -errno return [2].

[1] https://github.com/KSPP/linux/issues/89
[2] https://elixir.bootlin.com/linux/v6.4-rc6/source/include/linux/moduleparam.h#L52

Signed-off-by: Azeem Shaikh <azeemshaikh38@gmail.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
net/sunrpc/svc.c

index e6d4cec..b011c31 100644 (file)
@@ -109,15 +109,15 @@ param_get_pool_mode(char *buf, const struct kernel_param *kp)
        switch (*ip)
        {
        case SVC_POOL_AUTO:
-               return strlcpy(buf, "auto\n", 20);
+               return sysfs_emit(buf, "auto\n");
        case SVC_POOL_GLOBAL:
-               return strlcpy(buf, "global\n", 20);
+               return sysfs_emit(buf, "global\n");
        case SVC_POOL_PERCPU:
-               return strlcpy(buf, "percpu\n", 20);
+               return sysfs_emit(buf, "percpu\n");
        case SVC_POOL_PERNODE:
-               return strlcpy(buf, "pernode\n", 20);
+               return sysfs_emit(buf, "pernode\n");
        default:
-               return sprintf(buf, "%d\n", *ip);
+               return sysfs_emit(buf, "%d\n", *ip);
        }
 }