Hi Amirreza,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 835244aba90de290b4b0b1fa92b6734f3ee7b3d9]
url: https://github.com/intel-lab-lkp/linux/commits/Amirreza-Zarrabi/tee-allow-a-... base: 835244aba90de290b4b0b1fa92b6734f3ee7b3d9 patch link: https://lore.kernel.org/r/20250713-qcom-tee-using-tee-ss-without-mem-obj-v6-... patch subject: [PATCH v6 08/12] firmware: qcom: tzmem: export shm_bridge create/delete config: arc-randconfig-001-20250714 (https://download.01.org/0day-ci/archive/20250714/202507141458.kBLqFFYk-lkp@i...) compiler: arc-linux-gcc (GCC) 8.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250714/202507141458.kBLqFFYk-lkp@i...)
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/202507141458.kBLqFFYk-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from include/linux/device.h:15, from include/linux/dma-mapping.h:5, from drivers/firmware/qcom/qcom_tzmem.c:10: drivers/firmware/qcom/qcom_tzmem.c: In function 'qcom_tzmem_shm_bridge_create':
drivers/firmware/qcom/qcom_tzmem.c:139:27: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 4 has type 'phys_addr_t' {aka 'unsigned int'} [-Wformat=]
dev_err(qcom_tzmem_dev, "SHM Bridge failed: ret %d paddr 0x%llx, size%zu\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:110:16: note: in definition of macro 'dev_printk_index_wrap' _p_func(dev, fmt, ##__VA_ARGS__); \ ^~~ include/linux/dev_printk.h:154:49: note: in expansion of macro 'dev_fmt' dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) ^~~~~~~ drivers/firmware/qcom/qcom_tzmem.c:139:3: note: in expansion of macro 'dev_err' dev_err(qcom_tzmem_dev, "SHM Bridge failed: ret %d paddr 0x%llx, size%zu\n", ^~~~~~~
vim +139 drivers/firmware/qcom/qcom_tzmem.c
110 111 /** 112 * qcom_tzmem_shm_bridge_create() - Create a SHM bridge. 113 * @paddr: Physical address of the memory to share. 114 * @size: Size of the memory to share. 115 * @handle: Handle to the SHM bridge. 116 * 117 * On platforms that support SHM bridge, this function creates a SHM bridge 118 * for the given memory region with QTEE. The handle returned by this function 119 * must be passed to qcom_tzmem_shm_bridge_delete() to free the SHM bridge. 120 * 121 * Return: On success, returns 0; on failure, returns < 0. 122 */ 123 int qcom_tzmem_shm_bridge_create(phys_addr_t paddr, size_t size, u64 *handle) 124 { 125 u64 pfn_and_ns_perm, ipfn_and_s_perm, size_and_flags; 126 int ret; 127 128 if (!qcom_tzmem_using_shm_bridge) 129 return 0; 130 131 pfn_and_ns_perm = paddr | QCOM_SCM_PERM_RW; 132 ipfn_and_s_perm = paddr | QCOM_SCM_PERM_RW; 133 size_and_flags = size | (1 << QCOM_SHM_BRIDGE_NUM_VM_SHIFT); 134 135 ret = qcom_scm_shm_bridge_create(pfn_and_ns_perm, ipfn_and_s_perm, 136 size_and_flags, QCOM_SCM_VMID_HLOS, 137 handle); 138 if (ret) {
139 dev_err(qcom_tzmem_dev, "SHM Bridge failed: ret %d paddr 0x%llx, size%zu\n",
140 ret, paddr, size); 141 142 return ret; 143 } 144 145 return 0; 146 } 147 EXPORT_SYMBOL_GPL(qcom_tzmem_shm_bridge_create); 148