On Thu, Mar 17, 2022 at 08:03:59AM -0700, Rob Clark wrote: > > > diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c > > > index 4ec62b601adc..68f3f8ade76d 100644 > > > --- a/drivers/gpu/drm/msm/msm_gpu.c > > > +++ b/drivers/gpu/drm/msm/msm_gpu.c > > > @@ -364,14 +364,21 @@ static void retire_submits(struct msm_gpu *gpu); > > > > > > static void get_comm_cmdline(struct msm_gem_submit *submit, char **comm, char **cmd) > > > { > > > + struct msm_file_private *ctx = submit->queue->ctx; > > > struct task_struct *task; > > > > > > + *comm = kstrdup(ctx->comm, GFP_KERNEL); > > > + *cmd = kstrdup(ctx->cmdline, GFP_KERNEL); > > > + > > > task = get_pid_task(submit->pid, PIDTYPE_PID); > > > if (!task) > > > return; > > > > > > - *comm = kstrdup(task->comm, GFP_KERNEL); > > > - *cmd = kstrdup_quotable_cmdline(task, GFP_KERNEL); > > > + if (!*comm) > > > + *comm = kstrdup(task->comm, GFP_KERNEL); > > > > What? > > > > If the first allocation failed, then this one is going to fail as well. > > Just return -ENOMEM. Or maybe this is meant to be checking for an empty > > string? > > fwiw, if ctx->comm is NULL, the kstrdup() will return NULL, so this > isn't intended to deal with OoM, but the case that comm and/or cmdline > is not overridden. Ah, I should have thought about that. Thanks! regards, dan carpenter