drivers: remove get_task_comm() and print task comm directly
authorYafang Shao <laoar.shao@gmail.com>
Thu, 19 Dec 2024 02:34:52 +0000 (10:34 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 13 Jan 2025 04:21:16 +0000 (20:21 -0800)
Since task->comm is guaranteed to be NUL-terminated, we can print it
directly without the need to copy it into a separate buffer.  This
simplifies the code and avoids unnecessary operations.

Link: https://lkml.kernel.org/r/20241219023452.69907-6-laoar.shao@gmail.com
Signed-off-by: Yafang Shao <laoar.shao@gmail.com>
Reviewed-by: Jiri Slaby <jirislaby@kernel.org> (For tty)
Reviewed-by: Lyude Paul <lyude@redhat.com> (For nouveau)
Cc: Oded Gabbay <ogabbay@kernel.org>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Tvrtko Ursulin <tursulin@ursulin.net>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Karol Herbst <kherbst@redhat.com>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Danilo Krummrich <dakr@redhat.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jiri Slaby <jirislaby@kernel.org>
Cc: "André Almeida" <andrealmeid@igalia.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Borislav Petkov (AMD) <bp@alien8.de>
Cc: Darren Hart <dvhart@infradead.org>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Morris <jmorris@namei.org>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Kalle Valo <kvalo@kernel.org>
Cc: Kees Cook <kees@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul Moore <paul@paul-moore.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Petr Mladek <pmladek@suse.com>
Cc: "Serge E. Hallyn" <serge@hallyn.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vineet Gupta <vgupta@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/accel/habanalabs/common/context.c
drivers/accel/habanalabs/common/habanalabs_ioctl.c
drivers/gpu/drm/i915/display/intel_display_driver.c
drivers/gpu/drm/nouveau/nouveau_chan.c
drivers/gpu/drm/nouveau/nouveau_drm.c
drivers/tty/tty_io.c

index b83141f58319c4ac48bb543eafb823e418d01abb..9f212b17611a37e42dc34d98e31793c731a76da5 100644 (file)
@@ -199,7 +199,6 @@ out_err:
 
 int hl_ctx_init(struct hl_device *hdev, struct hl_ctx *ctx, bool is_kernel_ctx)
 {
-       char task_comm[TASK_COMM_LEN];
        int rc = 0, i;
 
        ctx->hdev = hdev;
@@ -272,7 +271,7 @@ int hl_ctx_init(struct hl_device *hdev, struct hl_ctx *ctx, bool is_kernel_ctx)
                mutex_init(&ctx->ts_reg_lock);
 
                dev_dbg(hdev->dev, "create user context, comm=\"%s\", asid=%u\n",
-                       get_task_comm(task_comm, current), ctx->asid);
+                       current->comm, ctx->asid);
        }
 
        return 0;
index 1dd6e23172caa3a4d9f8e0132c49574a0b1a9932..8729a0c57d7811af3ff472dadf0490abcb49b5f0 100644 (file)
@@ -1279,13 +1279,10 @@ static long _hl_ioctl(struct hl_fpriv *hpriv, unsigned int cmd, unsigned long ar
                retcode = -EFAULT;
 
 out_err:
-       if (retcode) {
-               char task_comm[TASK_COMM_LEN];
-
+       if (retcode)
                dev_dbg_ratelimited(dev,
                                "error in ioctl: pid=%d, comm=\"%s\", cmd=%#010x, nr=%#04x\n",
-                               task_pid_nr(current), get_task_comm(task_comm, current), cmd, nr);
-       }
+                               task_pid_nr(current), current->comm, cmd, nr);
 
        if (kdata != stack_kdata)
                kfree(kdata);
@@ -1308,11 +1305,9 @@ long hl_ioctl_control(struct file *filep, unsigned int cmd, unsigned long arg)
        if (nr == _IOC_NR(DRM_IOCTL_HL_INFO)) {
                ioctl = &hl_ioctls_control[nr - HL_COMMAND_START];
        } else {
-               char task_comm[TASK_COMM_LEN];
-
                dev_dbg_ratelimited(hdev->dev_ctrl,
                                "invalid ioctl: pid=%d, comm=\"%s\", cmd=%#010x, nr=%#04x\n",
-                               task_pid_nr(current), get_task_comm(task_comm, current), cmd, nr);
+                               task_pid_nr(current), current->comm, cmd, nr);
                return -ENOTTY;
        }
 
index 56b78cf6b85499ba847bc3098c0747b268c7b7d4..62596424a9aa5b4502363a16acb20df31825781d 100644 (file)
@@ -391,7 +391,6 @@ void intel_display_driver_resume_access(struct drm_i915_private *i915)
  */
 bool intel_display_driver_check_access(struct drm_i915_private *i915)
 {
-       char comm[TASK_COMM_LEN];
        char current_task[TASK_COMM_LEN + 16];
        char allowed_task[TASK_COMM_LEN + 16] = "none";
 
@@ -400,12 +399,11 @@ bool intel_display_driver_check_access(struct drm_i915_private *i915)
                return true;
 
        snprintf(current_task, sizeof(current_task), "%s[%d]",
-                get_task_comm(comm, current),
-                task_pid_vnr(current));
+                current->comm, task_pid_vnr(current));
 
        if (i915->display.access.allowed_task)
                snprintf(allowed_task, sizeof(allowed_task), "%s[%d]",
-                        get_task_comm(comm, i915->display.access.allowed_task),
+                        i915->display.access.allowed_task->comm,
                         task_pid_vnr(i915->display.access.allowed_task));
 
        drm_dbg_kms(&i915->drm,
index 2cb2e5675807d380bbae99cffc03af615bed7e4b..cd659b9fd1d9caf07ccca8e6fdfefc2199468c36 100644 (file)
@@ -279,7 +279,6 @@ nouveau_channel_ctor(struct nouveau_cli *cli, bool priv, u64 runm,
        const u64 plength = 0x10000;
        const u64 ioffset = plength;
        const u64 ilength = 0x02000;
-       char name[TASK_COMM_LEN];
        int cid, ret;
        u64 size;
 
@@ -338,8 +337,7 @@ nouveau_channel_ctor(struct nouveau_cli *cli, bool priv, u64 runm,
                chan->userd = &chan->user;
        }
 
-       get_task_comm(name, current);
-       snprintf(args.name, sizeof(args.name), "%s[%d]", name, task_pid_nr(current));
+       snprintf(args.name, sizeof(args.name), "%s[%d]", current->comm, task_pid_nr(current));
 
        ret = nvif_object_ctor(&device->object, "abi16ChanUser", 0, hosts[cid].oclass,
                               &args, sizeof(args), &chan->user);
index 107f63f08bd9306cc81f5a16bf8a14fa3cd01f8a..ea7206484d22af5f869feed79bb328658df61ee1 100644 (file)
@@ -1159,7 +1159,7 @@ nouveau_drm_open(struct drm_device *dev, struct drm_file *fpriv)
 {
        struct nouveau_drm *drm = nouveau_drm(dev);
        struct nouveau_cli *cli;
-       char name[32], tmpname[TASK_COMM_LEN];
+       char name[32];
        int ret;
 
        /* need to bring up power immediately if opening device */
@@ -1169,10 +1169,9 @@ nouveau_drm_open(struct drm_device *dev, struct drm_file *fpriv)
                return ret;
        }
 
-       get_task_comm(tmpname, current);
        rcu_read_lock();
        snprintf(name, sizeof(name), "%s[%d]",
-                tmpname, pid_nr(rcu_dereference(fpriv->pid)));
+                current->comm, pid_nr(rcu_dereference(fpriv->pid)));
        rcu_read_unlock();
 
        if (!(cli = kzalloc(sizeof(*cli), GFP_KERNEL))) {
index dcb1769c3625cd0f7d1555260adfe6051139a305..50c0c23ae67808f3bc804a3f62bce2279f7a1940 100644 (file)
@@ -2622,14 +2622,13 @@ static int tty_tiocgicount(struct tty_struct *tty, void __user *arg)
 
 static int tty_set_serial(struct tty_struct *tty, struct serial_struct *ss)
 {
-       char comm[TASK_COMM_LEN];
        int flags;
 
        flags = ss->flags & ASYNC_DEPRECATED;
 
        if (flags)
                pr_warn_ratelimited("%s: '%s' is using deprecated serial flags (with no effect): %.8x\n",
-                               __func__, get_task_comm(comm, current), flags);
+                               __func__, current->comm, flags);
 
        if (!tty->ops->set_serial)
                return -ENOTTY;