All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
To: kent.russell-5C7GfCeVMHo@public.gmane.org
Cc: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: [bug report] drm/amdkfd: Add procfs-style information for KFD processes
Date: Mon, 24 Jun 2019 15:26:30 +0300	[thread overview]
Message-ID: <20190624122630.GA30487@mwanda> (raw)

Hello Kent Russell,

The patch de9f26bbd384: "drm/amdkfd: Add procfs-style information for
KFD processes" from Jun 13, 2019, leads to the following static
checker warning:

	drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_process.c:297 kfd_create_process()
	error: 'process' dereferencing possible ERR_PTR()

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_process.c
   284           */
   285          mutex_lock(&kfd_processes_mutex);
   286  
   287          /* A prior open of /dev/kfd could have already created the process. */
   288          process = find_process(thread);
   289          if (process) {
   290                  pr_debug("Process already found\n");
   291          } else {
   292                  process = create_process(thread, filep);
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This returns error pointers.

   293  
   294                  if (!procfs.kobj)
                             ^^^^^^^^^^^
This is a global.  Can we check it earlier?


   295                          goto out;
   296  
   297                  process->kobj = kfd_alloc_struct(process->kobj);
   298                  if (!process->kobj) {
   299                          pr_warn("Creating procfs kobject failed");
   300                          goto out;

We return success on this path.

   301                  }
   302                  ret = kobject_init_and_add(process->kobj, &procfs_type,
   303                                             procfs.kobj, "%d",
   304                                             (int)process->lead_thread->pid);
   305                  if (ret) {
   306                          pr_warn("Creating procfs pid directory failed");
   307                          goto out;

No error handling.  Basically whenever there is a goto out the error
handling is suspect.  It's better to pick a name which says what the
error label does...

   308                  }
   309  
   310                  process->attr_pasid.name = "pasid";
   311                  process->attr_pasid.mode = KFD_SYSFS_FILE_MODE;
   312                  sysfs_attr_init(&process->attr_pasid);
   313                  ret = sysfs_create_file(process->kobj, &process->attr_pasid);
   314                  if (ret)
   315                          pr_warn("Creating pasid for pid %d failed",
   316                                          (int)process->lead_thread->pid);

Error handling and error code missing.

   317          }
   318  out:
   319          mutex_unlock(&kfd_processes_mutex);
   320  
   321          return process;
   322  }


regards,
dan carpenter
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

             reply	other threads:[~2019-06-24 12:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-24 12:26 Dan Carpenter [this message]
2019-06-24 18:06 ` [bug report] drm/amdkfd: Add procfs-style information for KFD processes Russell, Kent
     [not found]   ` <BN6PR12MB16181F76E1F385E999A2219585E00-/b2+HYfkarRqaFUXYJa4HgdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2019-06-25  0:49     ` Dan Carpenter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190624122630.GA30487@mwanda \
    --to=dan.carpenter-qhclzuegtsvqt0dzr+alfa@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=kent.russell-5C7GfCeVMHo@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.