lkml.org 
[lkml]   [2022]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectdrivers/gpu/drm/selftests/test-drm_buddy.c:371:7: warning: Local variable 'order' shadows outer variable [shadowVariable]
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c00c5e1d157bec0ef0b0b59aa5482eb8dc7e8e49
commit: e6ff5ef81170e11dc0f196b0391f708f04fa8c87 drm/selftests: add drm buddy smoke testcase
date: 8 weeks ago
compiler: arc-elf-gcc (GCC) 11.2.0
reproduce (cppcheck warning):
# apt-get install cppcheck
git checkout e6ff5ef81170e11dc0f196b0391f708f04fa8c87
cppcheck --quiet --enable=style,performance,portability --template=gcc FILE

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


cppcheck warnings: (new ones prefixed by >>)
In file included from drivers/gpu/drm/selftests/test-drm_buddy.c:
>> drivers/gpu/drm/selftests/test-drm_buddy.c:371:7: warning: Local variable 'order' shadows outer variable [shadowVariable]
int order;
^
drivers/gpu/drm/selftests/test-drm_buddy.c:346:7: note: Shadowed declaration
int *order;
^
drivers/gpu/drm/selftests/test-drm_buddy.c:371:7: note: Shadow variable
int order;
^

vim +/order +371 drivers/gpu/drm/selftests/test-drm_buddy.c

340
341 static int igt_buddy_alloc_smoke(void *arg)
342 {
343 u64 mm_size, min_page_size, chunk_size, start = 0;
344 unsigned long flags = 0;
345 struct drm_buddy mm;
346 int *order;
347 int err, i;
348
349 DRM_RND_STATE(prng, random_seed);
350 IGT_TIMEOUT(end_time);
351
352 igt_mm_config(&mm_size, &chunk_size);
353
354 err = drm_buddy_init(&mm, mm_size, chunk_size);
355 if (err) {
356 pr_err("buddy_init failed(%d)\n", err);
357 return err;
358 }
359
360 order = drm_random_order(mm.max_order + 1, &prng);
361 if (!order)
362 goto out_fini;
363
364 for (i = 0; i <= mm.max_order; ++i) {
365 struct drm_buddy_block *block;
366 int max_order = order[i];
367 bool timeout = false;
368 LIST_HEAD(blocks);
369 u64 total, size;
370 LIST_HEAD(tmp);
> 371 int order;
372
373 err = igt_check_mm(&mm);
374 if (err) {
375 pr_err("pre-mm check failed, abort\n");
376 break;
377 }
378
379 order = max_order;
380 total = 0;
381
382 do {
383 retry:
384 size = min_page_size = get_size(order, chunk_size);
385 err = drm_buddy_alloc_blocks(&mm, start, mm_size, size,
386 min_page_size, &tmp, flags);
387 if (err) {
388 if (err == -ENOMEM) {
389 pr_info("buddy_alloc hit -ENOMEM with order=%d\n",
390 order);
391 } else {
392 if (order--) {
393 err = 0;
394 goto retry;
395 }
396
397 pr_err("buddy_alloc with order=%d failed(%d)\n",
398 order, err);
399 }
400
401 break;
402 }
403
404 block = list_first_entry_or_null(&tmp,
405 struct drm_buddy_block,
406 link);
407 if (!block) {
408 pr_err("alloc_blocks has no blocks\n");
409 err = -EINVAL;
410 break;
411 }
412
413 list_move_tail(&block->link, &blocks);
414
415 if (drm_buddy_block_order(block) != order) {
416 pr_err("buddy_alloc order mismatch\n");
417 err = -EINVAL;
418 break;
419 }
420
421 total += drm_buddy_block_size(&mm, block);
422
423 if (__igt_timeout(end_time, NULL)) {
424 timeout = true;
425 break;
426 }
427 } while (total < mm.size);
428
429 if (!err)
430 err = igt_check_blocks(&mm, &blocks, total, false);
431
432 drm_buddy_free_list(&mm, &blocks);
433
434 if (!err) {
435 err = igt_check_mm(&mm);
436 if (err)
437 pr_err("post-mm check failed\n");
438 }
439
440 if (err || timeout)
441 break;
442
443 cond_resched();
444 }
445
446 if (err == -ENOMEM)
447 err = 0;
448
449 kfree(order);
450 out_fini:
451 drm_buddy_fini(&mm);
452
453 return err;
454 }
455

--
0-DAY CI Kernel Test Service
https://01.org/lkp

\
 
 \ /
  Last update: 2022-04-23 07:49    [W:0.028 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site