Messages in this thread | | | Date | Sat, 23 Apr 2022 13:48:10 +0800 | From | kernel test robot <> | Subject | drivers/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
| |