From: kernel test robot <lkp@intel.com>
To: Sumit Garg <sumit.garg@kernel.org>, op-tee@lists.trustedfirmware.org
Cc: oe-kbuild-all@lists.linux.dev, jens.wiklander@linaro.org,
vbabka@suse.cz, akpm@linux-foundation.org, willy@infradead.org,
linux-kernel@vger.kernel.org,
"Sumit Garg" <sumit.garg@oss.qualcomm.com>,
"Marco Felsch" <m.felsch@pengutronix.de>,
"Sven Püschel" <s.pueschel@pengutronix.de>
Subject: Re: [RFT PATCH] tee: shm: Remove refcounting of kernel pages
Date: Mon, 16 Feb 2026 01:53:32 +0800 [thread overview]
Message-ID: <202602160147.pGHOLa5U-lkp@intel.com> (raw)
In-Reply-To: <20260213113317.1728769-1-sumit.garg@kernel.org>
Hi Sumit,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on linus/master v6.19 next-20260213]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Sumit-Garg/tee-shm-Remove-refcounting-of-kernel-pages/20260213-193435
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20260213113317.1728769-1-sumit.garg%40kernel.org
patch subject: [RFT PATCH] tee: shm: Remove refcounting of kernel pages
config: loongarch-randconfig-r071-20260214 (https://download.01.org/0day-ci/archive/20260216/202602160147.pGHOLa5U-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
smatch version: v0.5.0-8994-gd50c5a4c
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260216/202602160147.pGHOLa5U-lkp@intel.com/reproduce)
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>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602160147.pGHOLa5U-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/tee/tee_shm.c:475:6: error: call to undeclared function 'iter_is_uvec'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
475 | if (iter_is_uvec(iter))
| ^
drivers/tee/tee_shm.c:475:6: note: did you mean 'iter_is_iovec'?
include/linux/uio.h:128:20: note: 'iter_is_iovec' declared here
128 | static inline bool iter_is_iovec(const struct iov_iter *i)
| ^
1 error generated.
vim +/iter_is_uvec +475 drivers/tee/tee_shm.c
399
400 static struct tee_shm *
401 register_shm_helper(struct tee_context *ctx, struct iov_iter *iter, u32 flags,
402 int id)
403 {
404 struct tee_device *teedev = ctx->teedev;
405 struct tee_shm *shm;
406 unsigned long start, addr;
407 size_t num_pages, off;
408 ssize_t len;
409 void *ret;
410 int rc;
411
412 if (!tee_device_get(teedev))
413 return ERR_PTR(-EINVAL);
414
415 if (!teedev->desc->ops->shm_register ||
416 !teedev->desc->ops->shm_unregister) {
417 ret = ERR_PTR(-ENOTSUPP);
418 goto err_dev_put;
419 }
420
421 teedev_ctx_get(ctx);
422
423 shm = kzalloc(sizeof(*shm), GFP_KERNEL);
424 if (!shm) {
425 ret = ERR_PTR(-ENOMEM);
426 goto err_ctx_put;
427 }
428
429 refcount_set(&shm->refcount, 1);
430 shm->flags = flags;
431 shm->ctx = ctx;
432 shm->id = id;
433 addr = untagged_addr((unsigned long)iter_iov_addr(iter));
434 start = rounddown(addr, PAGE_SIZE);
435 num_pages = iov_iter_npages(iter, INT_MAX);
436 if (!num_pages) {
437 ret = ERR_PTR(-ENOMEM);
438 goto err_ctx_put;
439 }
440
441 shm->pages = kcalloc(num_pages, sizeof(*shm->pages), GFP_KERNEL);
442 if (!shm->pages) {
443 ret = ERR_PTR(-ENOMEM);
444 goto err_free_shm;
445 }
446
447 len = iov_iter_extract_pages(iter, &shm->pages, LONG_MAX, num_pages, 0,
448 &off);
449 if (unlikely(len <= 0)) {
450 ret = len ? ERR_PTR(len) : ERR_PTR(-ENOMEM);
451 goto err_free_shm_pages;
452 } else if (DIV_ROUND_UP(len + off, PAGE_SIZE) != num_pages) {
453 /*
454 * If we only got a few pages, update to release the
455 * correct amount below.
456 */
457 shm->num_pages = len / PAGE_SIZE;
458 ret = ERR_PTR(-ENOMEM);
459 goto err_put_shm_pages;
460 }
461
462 shm->offset = off;
463 shm->size = len;
464 shm->num_pages = num_pages;
465
466 rc = teedev->desc->ops->shm_register(ctx, shm, shm->pages,
467 shm->num_pages, start);
468 if (rc) {
469 ret = ERR_PTR(rc);
470 goto err_put_shm_pages;
471 }
472
473 return shm;
474 err_put_shm_pages:
> 475 if (iter_is_uvec(iter))
476 unpin_user_pages(shm->pages, shm->num_pages);
477 err_free_shm_pages:
478 kfree(shm->pages);
479 err_free_shm:
480 kfree(shm);
481 err_ctx_put:
482 teedev_ctx_put(ctx);
483 err_dev_put:
484 tee_device_put(teedev);
485 return ret;
486 }
487
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Sumit Garg <sumit.garg@kernel.org>, op-tee@lists.trustedfirmware.org
Cc: oe-kbuild-all@lists.linux.dev, vbabka@suse.cz,
akpm@linux-foundation.org, willy@infradead.org,
linux-kernel@vger.kernel.org,
"Sumit Garg" <sumit.garg@oss.qualcomm.com>,
"Marco Felsch" <m.felsch@pengutronix.de>,
"Sven Püschel" <s.pueschel@pengutronix.de>
Subject: Re: [RFT PATCH] tee: shm: Remove refcounting of kernel pages
Date: Mon, 16 Feb 2026 01:53:32 +0800 [thread overview]
Message-ID: <202602160147.pGHOLa5U-lkp@intel.com> (raw)
In-Reply-To: <20260213113317.1728769-1-sumit.garg@kernel.org>
Hi Sumit,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on linus/master v6.19 next-20260213]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Sumit-Garg/tee-shm-Remove-refcounting-of-kernel-pages/20260213-193435
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20260213113317.1728769-1-sumit.garg%40kernel.org
patch subject: [RFT PATCH] tee: shm: Remove refcounting of kernel pages
config: loongarch-randconfig-r071-20260214 (https://download.01.org/0day-ci/archive/20260216/202602160147.pGHOLa5U-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
smatch version: v0.5.0-8994-gd50c5a4c
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260216/202602160147.pGHOLa5U-lkp@intel.com/reproduce)
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>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602160147.pGHOLa5U-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/tee/tee_shm.c:475:6: error: call to undeclared function 'iter_is_uvec'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
475 | if (iter_is_uvec(iter))
| ^
drivers/tee/tee_shm.c:475:6: note: did you mean 'iter_is_iovec'?
include/linux/uio.h:128:20: note: 'iter_is_iovec' declared here
128 | static inline bool iter_is_iovec(const struct iov_iter *i)
| ^
1 error generated.
vim +/iter_is_uvec +475 drivers/tee/tee_shm.c
399
400 static struct tee_shm *
401 register_shm_helper(struct tee_context *ctx, struct iov_iter *iter, u32 flags,
402 int id)
403 {
404 struct tee_device *teedev = ctx->teedev;
405 struct tee_shm *shm;
406 unsigned long start, addr;
407 size_t num_pages, off;
408 ssize_t len;
409 void *ret;
410 int rc;
411
412 if (!tee_device_get(teedev))
413 return ERR_PTR(-EINVAL);
414
415 if (!teedev->desc->ops->shm_register ||
416 !teedev->desc->ops->shm_unregister) {
417 ret = ERR_PTR(-ENOTSUPP);
418 goto err_dev_put;
419 }
420
421 teedev_ctx_get(ctx);
422
423 shm = kzalloc(sizeof(*shm), GFP_KERNEL);
424 if (!shm) {
425 ret = ERR_PTR(-ENOMEM);
426 goto err_ctx_put;
427 }
428
429 refcount_set(&shm->refcount, 1);
430 shm->flags = flags;
431 shm->ctx = ctx;
432 shm->id = id;
433 addr = untagged_addr((unsigned long)iter_iov_addr(iter));
434 start = rounddown(addr, PAGE_SIZE);
435 num_pages = iov_iter_npages(iter, INT_MAX);
436 if (!num_pages) {
437 ret = ERR_PTR(-ENOMEM);
438 goto err_ctx_put;
439 }
440
441 shm->pages = kcalloc(num_pages, sizeof(*shm->pages), GFP_KERNEL);
442 if (!shm->pages) {
443 ret = ERR_PTR(-ENOMEM);
444 goto err_free_shm;
445 }
446
447 len = iov_iter_extract_pages(iter, &shm->pages, LONG_MAX, num_pages, 0,
448 &off);
449 if (unlikely(len <= 0)) {
450 ret = len ? ERR_PTR(len) : ERR_PTR(-ENOMEM);
451 goto err_free_shm_pages;
452 } else if (DIV_ROUND_UP(len + off, PAGE_SIZE) != num_pages) {
453 /*
454 * If we only got a few pages, update to release the
455 * correct amount below.
456 */
457 shm->num_pages = len / PAGE_SIZE;
458 ret = ERR_PTR(-ENOMEM);
459 goto err_put_shm_pages;
460 }
461
462 shm->offset = off;
463 shm->size = len;
464 shm->num_pages = num_pages;
465
466 rc = teedev->desc->ops->shm_register(ctx, shm, shm->pages,
467 shm->num_pages, start);
468 if (rc) {
469 ret = ERR_PTR(rc);
470 goto err_put_shm_pages;
471 }
472
473 return shm;
474 err_put_shm_pages:
> 475 if (iter_is_uvec(iter))
476 unpin_user_pages(shm->pages, shm->num_pages);
477 err_free_shm_pages:
478 kfree(shm->pages);
479 err_free_shm:
480 kfree(shm);
481 err_ctx_put:
482 teedev_ctx_put(ctx);
483 err_dev_put:
484 tee_device_put(teedev);
485 return ret;
486 }
487
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2026-02-15 17:53 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-13 11:33 [RFT PATCH] tee: shm: Remove refcounting of kernel pages Sumit Garg via OP-TEE
2026-02-13 11:33 ` Sumit Garg
2026-02-13 16:08 ` Matthew Wilcox
2026-02-13 16:08 ` Matthew Wilcox
2026-02-16 6:12 ` Sumit Garg via OP-TEE
2026-02-16 6:12 ` Sumit Garg
2026-02-14 12:32 ` kernel test robot
2026-02-14 12:32 ` kernel test robot
2026-02-15 17:53 ` kernel test robot [this message]
2026-02-15 17:53 ` kernel test robot
2026-02-17 11:01 ` Sven Püschel
2026-02-17 11:01 ` Sven Püschel
2026-02-23 5:07 ` Sumit Garg via OP-TEE
2026-02-23 5:07 ` Sumit Garg
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=202602160147.pGHOLa5U-lkp@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=jens.wiklander@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=m.felsch@pengutronix.de \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=op-tee@lists.trustedfirmware.org \
--cc=s.pueschel@pengutronix.de \
--cc=sumit.garg@kernel.org \
--cc=sumit.garg@oss.qualcomm.com \
--cc=vbabka@suse.cz \
--cc=willy@infradead.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.