Hi Jens, kernel test robot noticed the following build errors: [auto build test ERROR on fac04efc5c793dccbd07e2d59af9f90b7fc0dca4] url: https://github.com/intel-lab-lkp/linux/commits/Jens-Wiklander/tee-add-restricted-memory-allocation/20241217-181101 base: fac04efc5c793dccbd07e2d59af9f90b7fc0dca4 patch link: https://lore.kernel.org/r/20241217100809.3962439-6-jens.wiklander%40linaro.org patch subject: [PATCH v4 5/6] optee: FF-A: dynamic restricted memory allocation config: arm64-randconfig-002-20241220 (https://download.01.org/0day-ci/archive/20241220/202412202214.OdgzpOke-lkp@xxxxxxxxx/config) compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241220/202412202214.OdgzpOke-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/202412202214.OdgzpOke-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from drivers/tee/optee/rstmem.c:8: In file included from include/linux/dma-map-ops.h:9: In file included from include/linux/dma-mapping.h:8: In file included from include/linux/scatterlist.h:8: In file included from include/linux/mm.h:2223: include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 518 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ >> drivers/tee/optee/rstmem.c:311:67: error: expected ')' 311 | static struct tee_shm_pool *alloc_rstmem_pool(struct optee *optee __unused, | ^ drivers/tee/optee/rstmem.c:311:46: note: to match this '(' 311 | static struct tee_shm_pool *alloc_rstmem_pool(struct optee *optee __unused, | ^ >> drivers/tee/optee/rstmem.c:332:35: error: too many arguments to function call, expected single argument 'optee', have 2 arguments 332 | pool = alloc_rstmem_pool(optee, use_case); | ~~~~~~~~~~~~~~~~~ ^~~~~~~~ drivers/tee/optee/rstmem.c:311:29: note: 'alloc_rstmem_pool' declared here 311 | static struct tee_shm_pool *alloc_rstmem_pool(struct optee *optee __unused, | ^ ~~~~~~~~~~~~~~~~~~~ 1 warning and 2 errors generated. vim +311 drivers/tee/optee/rstmem.c 268 269 static struct tee_shm_pool *alloc_rstmem_pool(struct optee *optee, u32 use_case) 270 { 271 struct optee_rstmem_cma_pool *rp; 272 size_t min_size; 273 int rc; 274 275 rp = kzalloc(sizeof(*rp), GFP_KERNEL); 276 if (!rp) 277 return ERR_PTR(-ENOMEM); 278 rp->rstmem.use_case = use_case; 279 280 rc = get_rstmem_config(optee, use_case, &min_size, &rp->align, NULL, 281 &rp->end_point_count); 282 if (rc) { 283 if (rc != -ENOSPC) 284 goto err; 285 rp->end_points = kcalloc(rp->end_point_count, 286 sizeof(*rp->end_points), GFP_KERNEL); 287 if (!rp->end_points) { 288 rc = -ENOMEM; 289 goto err; 290 } 291 rc = get_rstmem_config(optee, use_case, &min_size, &rp->align, 292 rp->end_points, &rp->end_point_count); 293 if (rc) 294 goto err_kfree_eps; 295 } 296 297 rp->pool.ops = &rstmem_pool_ops_cma; 298 rp->optee = optee; 299 rp->page_count = min_size / PAGE_SIZE; 300 mutex_init(&rp->mutex); 301 302 return &rp->pool; 303 304 err_kfree_eps: 305 kfree(rp->end_points); 306 err: 307 kfree(rp); 308 return ERR_PTR(rc); 309 } 310 #else /*CONFIG_CMA*/ > 311 static struct tee_shm_pool *alloc_rstmem_pool(struct optee *optee __unused, 312 u32 use_case __unused) 313 { 314 return ERR_PTR(-EINVAL); 315 } 316 #endif /*CONFIG_CMA*/ 317 318 int optee_rstmem_alloc(struct tee_context *ctx, struct tee_shm *shm, 319 u32 flags, u32 use_case, size_t size) 320 { 321 struct optee *optee = tee_get_drvdata(ctx->teedev); 322 struct tee_shm_pool *pool; 323 int rc; 324 325 if (!optee->rstmem_pools) 326 return -EINVAL; 327 if (flags) 328 return -EINVAL; 329 330 pool = xa_load(&optee->rstmem_pools->xa, use_case); 331 if (!pool) { > 332 pool = alloc_rstmem_pool(optee, use_case); 333 if (IS_ERR(pool)) 334 return PTR_ERR(pool); 335 rc = xa_insert(&optee->rstmem_pools->xa, use_case, pool, 336 GFP_KERNEL); 337 if (rc) { 338 pool->ops->destroy_pool(pool); 339 return rc; 340 } 341 } 342 343 return pool->ops->alloc(pool, shm, size, 0); 344 } 345 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki