[PATCH v4 5/6] optee: FF-A: dynamic restricted memory allocation
kernel test robot
lkp at intel.com
Sat Dec 21 09:40:18 UTC 2024
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-r112-20241221 (https://download.01.org/0day-ci/archive/20241221/202412211952.LOCC8Lbo-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce: (https://download.01.org/0day-ci/archive/20241221/202412211952.LOCC8Lbo-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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412211952.LOCC8Lbo-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/tee/optee/rstmem.c:311:67: error: expected ';', ',' or ')' before '__unused'
311 | static struct tee_shm_pool *alloc_rstmem_pool(struct optee *optee __unused,
| ^~~~~~~~
drivers/tee/optee/rstmem.c: In function 'optee_rstmem_alloc':
>> drivers/tee/optee/rstmem.c:332:24: error: implicit declaration of function 'alloc_rstmem_pool' [-Wimplicit-function-declaration]
332 | pool = alloc_rstmem_pool(optee, use_case);
| ^~~~~~~~~~~~~~~~~
>> drivers/tee/optee/rstmem.c:332:22: error: assignment to 'struct tee_shm_pool *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
332 | pool = alloc_rstmem_pool(optee, use_case);
| ^
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
More information about the dri-devel
mailing list