All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: [jens-wiklander-tee:testing/tuxbuild 6/10] drivers/tee/tee_shm.c:258 tee_shm_register_fd() warn: passing zero to 'PTR_ERR'
Date: Fri, 7 Mar 2025 16:25:00 +0800	[thread overview]
Message-ID: <202503071648.ViJVMQTh-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Etienne Carriere <etienne.carriere@linaro.org>
CC: Jens Wiklander <jens.wiklander@linaro.org>
CC: Olivier Masse <olivier.masse@nxp.com>

tree:   http://git.linaro.org/people/jens.wiklander/linux-tee testing/tuxbuild
head:   f4198d1f9ee51430ec81d02bb21f769cb6fd14c1
commit: 7fc3cd07fc7e055deefa3b33ff9f702ccd9f7864 [6/10] tee: new ioctl to a register tee_shm from a dmabuf file descriptor
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: sh-randconfig-r073-20250307 (https://download.01.org/0day-ci/archive/20250307/202503071648.ViJVMQTh-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 14.2.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202503071648.ViJVMQTh-lkp@intel.com/

smatch warnings:
drivers/tee/tee_shm.c:258 tee_shm_register_fd() warn: passing zero to 'PTR_ERR'

vim +/PTR_ERR +258 drivers/tee/tee_shm.c

dc7019b7d0e188 Jens Wiklander   2021-06-14  209  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  210  struct tee_shm *tee_shm_register_fd(struct tee_context *ctx, int fd)
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  211  {
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  212  	struct tee_shm_dmabuf_ref *ref;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  213  	int rc;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  214  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  215  	if (!tee_device_get(ctx->teedev))
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  216  		return ERR_PTR(-EINVAL);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  217  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  218  	teedev_ctx_get(ctx);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  219  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  220  	ref = kzalloc(sizeof(*ref), GFP_KERNEL);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  221  	if (!ref) {
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  222  		rc = -ENOMEM;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  223  		goto err_put_tee;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  224  	}
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  225  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  226  	refcount_set(&ref->shm.refcount, 1);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  227  	ref->shm.ctx = ctx;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  228  	ref->shm.id = -1;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  229  	ref->shm.flags = TEE_SHM_DMA_BUF;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  230  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  231  	ref->dmabuf = dma_buf_get(fd);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  232  	if (IS_ERR(ref->dmabuf)) {
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  233  		rc = PTR_ERR(ref->dmabuf);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  234  		goto err_kfree_ref;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  235  	}
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  236  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  237  	rc = tee_heap_update_from_dma_buf(ctx->teedev, ref->dmabuf,
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  238  					  &ref->offset, &ref->shm,
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  239  					  &ref->parent_shm);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  240  	if (!rc)
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  241  		goto out;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  242  	if (rc != -EINVAL)
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  243  		goto err_put_dmabuf;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  244  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  245  	ref->attach = dma_buf_attach(ref->dmabuf, &ctx->teedev->dev);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  246  	if (IS_ERR(ref->attach)) {
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  247  		rc = PTR_ERR(ref->attach);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  248  		goto err_put_dmabuf;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  249  	}
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  250  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  251  	ref->sgt = dma_buf_map_attachment(ref->attach, DMA_BIDIRECTIONAL);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  252  	if (IS_ERR(ref->sgt)) {
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  253  		rc = PTR_ERR(ref->sgt);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  254  		goto err_detach;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  255  	}
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  256  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  257  	if (sg_nents(ref->sgt->sgl) != 1) {
7fc3cd07fc7e05 Etienne Carriere 2016-10-27 @258  		rc = PTR_ERR(ref->sgt->sgl);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  259  		goto err_unmap_attachement;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  260  	}
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  261  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  262  	ref->shm.paddr = page_to_phys(sg_page(ref->sgt->sgl));
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  263  	ref->shm.size = ref->sgt->sgl->length;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  264  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  265  out:
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  266  	mutex_lock(&ref->shm.ctx->teedev->mutex);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  267  	ref->shm.id = idr_alloc(&ref->shm.ctx->teedev->idr, &ref->shm,
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  268  				1, 0, GFP_KERNEL);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  269  	mutex_unlock(&ref->shm.ctx->teedev->mutex);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  270  	if (ref->shm.id < 0) {
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  271  		rc = ref->shm.id;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  272  		if (ref->attach)
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  273  			goto err_unmap_attachement;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  274  		goto err_put_dmabuf;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  275  	}
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  276  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  277  	return &ref->shm;
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  278  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  279  err_unmap_attachement:
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  280  	dma_buf_unmap_attachment(ref->attach, ref->sgt, DMA_BIDIRECTIONAL);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  281  err_detach:
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  282  	dma_buf_detach(ref->dmabuf, ref->attach);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  283  err_put_dmabuf:
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  284  	dma_buf_put(ref->dmabuf);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  285  err_kfree_ref:
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  286  	kfree(ref);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  287  err_put_tee:
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  288  	teedev_ctx_put(ctx);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  289  	tee_device_put(ctx->teedev);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  290  
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  291  	return ERR_PTR(rc);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  292  }
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  293  EXPORT_SYMBOL_GPL(tee_shm_register_fd);
7fc3cd07fc7e05 Etienne Carriere 2016-10-27  294  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2025-03-07  8:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-07  8:25 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-03-07  9:35 [jens-wiklander-tee:testing/tuxbuild 6/10] drivers/tee/tee_shm.c:258 tee_shm_register_fd() warn: passing zero to 'PTR_ERR' Dan Carpenter
2025-03-17  7:44 ` Jens Wiklander

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=202503071648.ViJVMQTh-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=error27@gmail.com \
    --cc=oe-kbuild@lists.linux.dev \
    /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.