net: netconsole: move newline trimming to function
authorMatthew Wood <thepacketgeek@gmail.com>
Sun, 4 Feb 2024 23:27:34 +0000 (15:27 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 9 Feb 2024 10:23:45 +0000 (10:23 +0000)
Move newline trimming logic from `dev_name_store()` to a new function
(trim_newline()) for shared use in netconsole.c

Signed-off-by: Matthew Wood <thepacketgeek@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/netconsole.c

index 12bfb7eaae7f03b1b9a927e02f1fb7c617d58ba1..e6c3b15fe95d145e096500feec802d35ee9fe8eb 100644 (file)
@@ -230,6 +230,16 @@ static struct netconsole_target *to_target(struct config_item *item)
                            struct netconsole_target, group);
 }
 
+/* Get rid of possible trailing newline, returning the new length */
+static void trim_newline(char *s, size_t maxlen)
+{
+       size_t len;
+
+       len = strnlen(s, maxlen);
+       if (s[len - 1] == '\n')
+               s[len - 1] = '\0';
+}
+
 /*
  * Attribute operations for netconsole_target.
  */
@@ -424,7 +434,6 @@ static ssize_t dev_name_store(struct config_item *item, const char *buf,
                size_t count)
 {
        struct netconsole_target *nt = to_target(item);
-       size_t len;
 
        mutex_lock(&dynamic_netconsole_mutex);
        if (nt->enabled) {
@@ -435,11 +444,7 @@ static ssize_t dev_name_store(struct config_item *item, const char *buf,
        }
 
        strscpy(nt->np.dev_name, buf, IFNAMSIZ);
-
-       /* Get rid of possible trailing newline from echo(1) */
-       len = strnlen(nt->np.dev_name, IFNAMSIZ);
-       if (nt->np.dev_name[len - 1] == '\n')
-               nt->np.dev_name[len - 1] = '\0';
+       trim_newline(nt->np.dev_name, IFNAMSIZ);
 
        mutex_unlock(&dynamic_netconsole_mutex);
        return strnlen(buf, count);