Re: [PATCH 02/10] tee: add TEE_IOCTL_PARAM_ATTR_TYPE_MEMBUF

From: kernel test robot
Date: Tue Dec 03 2024 - 03:05:50 EST


Hi Amirreza,

kernel test robot noticed the following build warnings:

[auto build test WARNING on f486c8aa16b8172f63bddc70116a0c897a7f3f02]

url: https://github.com/intel-lab-lkp/linux/commits/Amirreza-Zarrabi/tee-allow-a-driver-to-allocate-a-tee_device-without-a-pool/20241203-122412
base: f486c8aa16b8172f63bddc70116a0c897a7f3f02
patch link: https://lore.kernel.org/r/20241202-qcom-tee-using-tee-ss-without-mem-obj-v1-2-f502ef01e016%40quicinc.com
patch subject: [PATCH 02/10] tee: add TEE_IOCTL_PARAM_ATTR_TYPE_MEMBUF
config: i386-buildonly-randconfig-002-20241203 (https://download.01.org/0day-ci/archive/20241203/202412031510.Oh9kNGeK-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241203/202412031510.Oh9kNGeK-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412031510.Oh9kNGeK-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

drivers/tee/tee_core.c: In function 'params_to_supp':
>> drivers/tee/tee_core.c:669:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
669 | ip.a = (u64)p->u.membuf.uaddr;
| ^


vim +669 drivers/tee/tee_core.c

648
649 static int params_to_supp(struct tee_context *ctx,
650 struct tee_ioctl_param __user *uparams,
651 size_t num_params, struct tee_param *params)
652 {
653 size_t n;
654
655 for (n = 0; n < num_params; n++) {
656 struct tee_ioctl_param ip;
657 struct tee_param *p = params + n;
658
659 ip.attr = p->attr;
660 switch (p->attr & TEE_IOCTL_PARAM_ATTR_TYPE_MASK) {
661 case TEE_IOCTL_PARAM_ATTR_TYPE_VALUE_INPUT:
662 case TEE_IOCTL_PARAM_ATTR_TYPE_VALUE_INOUT:
663 ip.a = p->u.value.a;
664 ip.b = p->u.value.b;
665 ip.c = p->u.value.c;
666 break;
667 case TEE_IOCTL_PARAM_ATTR_TYPE_MEMBUF_INPUT:
668 case TEE_IOCTL_PARAM_ATTR_TYPE_MEMBUF_INOUT:
> 669 ip.a = (u64)p->u.membuf.uaddr;
670 ip.b = p->u.membuf.size;
671 ip.c = 0;
672 break;
673 case TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_INPUT:
674 case TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_OUTPUT:
675 case TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_INOUT:
676 ip.b = p->u.memref.size;
677 if (!p->u.memref.shm) {
678 ip.a = 0;
679 ip.c = (u64)-1; /* invalid shm id */
680 break;
681 }
682 ip.a = p->u.memref.shm_offs;
683 ip.c = p->u.memref.shm->id;
684 break;
685 default:
686 ip.a = 0;
687 ip.b = 0;
688 ip.c = 0;
689 break;
690 }
691
692 if (copy_to_user(uparams + n, &ip, sizeof(ip)))
693 return -EFAULT;
694 }
695
696 return 0;
697 }
698

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