CC: l...@lists.linux.dev CC: kbuild-...@lists.01.org BCC: l...@intel.com CC: Linux Memory Management List <linux...@kvack.org> TO: Arunpravin <arunpravin.paneersel...@amd.com> CC: "Christian König" <christian.koe...@amd.com> CC: Matthew Auld <matthew.a...@intel.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 4e7a74a6856f8613dab9794da4b5cfb8fd54fb8c commit: e6ff5ef81170e11dc0f196b0391f708f04fa8c87 [7285/11713] drm/selftests: add drm buddy smoke testcase :::::: branch date: 15 hours ago :::::: commit date: 2 weeks ago config: riscv-randconfig-c006-20220309 (https://download.01.org/0day-ci/archive/20220310/202203101054.ixvkbvmv-...@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 276ca87382b8f16a65bddac700202924228982f6) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install riscv cross compiling tool for clang build # apt-get install binutils-riscv64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=e6ff5ef81170e11dc0f196b0391f708f04fa8c87 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout e6ff5ef81170e11dc0f196b0391f708f04fa8c87 # save the config file to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> clang-analyzer warnings: (new ones prefixed by >>) if ((lis3->whoami == WAI_3DC) || (lis3->whoami == WAI_3DLH)) { ^~~~~~~~~~~~~~~~~~~~~~~ drivers/misc/lis3lv02d/lis3lv02d.c:289:32: note: Left side of '||' is true if ((lis3->whoami == WAI_3DC) || (lis3->whoami == WAI_3DLH)) { ^ drivers/misc/lis3lv02d/lis3lv02d.c:303:6: note: 'ret' is -6 if (ret) ^~~ drivers/misc/lis3lv02d/lis3lv02d.c:303:2: note: Taking true branch if (ret) ^ drivers/misc/lis3lv02d/lis3lv02d.c:304:3: note: Control jumps to line 356 goto fail; ^ drivers/misc/lis3lv02d/lis3lv02d.c:357:2: note: Returning without writing to '*results' return ret; ^ drivers/misc/lis3lv02d/lis3lv02d.c:794:10: note: Returning from 'lis3lv02d_selftest' switch (lis3lv02d_selftest(lis3, values)) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/misc/lis3lv02d/lis3lv02d.c:794:2: note: Control jumps to the 'default' case at line 802 switch (lis3lv02d_selftest(lis3, values)) { ^ drivers/misc/lis3lv02d/lis3lv02d.c:804:3: note: Execution continues on line 806 break; ^ drivers/misc/lis3lv02d/lis3lv02d.c:806:9: note: 4th function call argument is an uninitialized value return sprintf(buf, "%s %d %d %d\n", res, ^ Suppressed 12 warnings (5 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 17 warnings generated. drivers/gpu/drm/bridge/sii9234.c:764:2: warning: Value stored to 'intr1_en' is never read [clang-analyzer-deadcode.DeadStores] intr1_en = mhl_tx_readb(ctx, MHL_TX_INTR1_ENABLE_REG); ^ drivers/gpu/drm/bridge/sii9234.c:764:2: note: Value stored to 'intr1_en' is never read drivers/gpu/drm/bridge/sii9234.c:765:2: warning: Value stored to 'intr4_en' is never read [clang-analyzer-deadcode.DeadStores] intr4_en = mhl_tx_readb(ctx, MHL_TX_INTR4_ENABLE_REG); ^ drivers/gpu/drm/bridge/sii9234.c:765:2: note: Value stored to 'intr4_en' is never read Suppressed 15 warnings (7 in non-user code, 8 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (7 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (7 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 18 warnings generated. drivers/gpu/drm/bridge/tc358767.c:678:2: warning: Value stored to 'revision' is never read [clang-analyzer-deadcode.DeadStores] revision = tc->link.dpcd[DP_DPCD_REV]; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/tc358767.c:678:2: note: Value stored to 'revision' is never read revision = tc->link.dpcd[DP_DPCD_REV]; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/tc358767.c:820:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = regmap_write(tc->regmap, DP0_VIDSYNCDELAY, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/tc358767.c:820:2: note: Value stored to 'ret' is never read ret = regmap_write(tc->regmap, DP0_VIDSYNCDELAY, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/tc358767.c:946:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = regmap_write(tc->regmap, DP_PHY_CTRL, dp_phy_ctrl); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/tc358767.c:946:2: note: Value stored to 'ret' is never read ret = regmap_write(tc->regmap, DP_PHY_CTRL, dp_phy_ctrl); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/tc358767.c:949:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = regmap_write(tc->regmap, DP_PHY_CTRL, dp_phy_ctrl); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/bridge/tc358767.c:949:2: note: Value stored to 'ret' is never read ret = regmap_write(tc->regmap, DP_PHY_CTRL, dp_phy_ctrl); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 14 warnings (7 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 12 warnings generated. Suppressed 12 warnings (5 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 13 warnings generated. Suppressed 13 warnings (6 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 12 warnings generated. Suppressed 12 warnings (5 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 12 warnings generated. Suppressed 12 warnings (5 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 12 warnings generated. Suppressed 12 warnings (5 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 13 warnings generated. Suppressed 13 warnings (6 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 13 warnings generated. Suppressed 13 warnings (6 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 6 warnings generated. >> drivers/gpu/drm/selftests/test-drm_buddy.c:393:7: warning: Value stored to >> 'err' is never read [clang-analyzer-deadcode.DeadStores] err = 0; ^ ~ drivers/gpu/drm/selftests/test-drm_buddy.c:393:7: note: Value stored to 'err' is never read err = 0; ^ ~ Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 13 warnings generated. Suppressed 13 warnings (6 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (7 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 12 warnings generated. Suppressed 12 warnings (5 in non-user code, 7 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. drivers/spi/spi-axi-spi-engine.c:324:4: warning: Array access (from variable 'buf') results in a null pointer dereference [clang-analyzer-core.NullDereference] writel_relaxed(buf[i], addr); ^ arch/riscv/include/asm/mmio.h:120:45: note: expanded from macro 'writel_relaxed' #define writel_relaxed(v, c) ({ __io_rbw(); writel_cpu((v), (c)); __io_raw(); }) ^ arch/riscv/include/asm/mmio.h:93:59: note: expanded from macro 'writel_cpu' #define writel_cpu(v, c) ((void)__raw_writel((__force u32)cpu_to_le32(v), (c))) ^ include/linux/byteorder/generic.h:88:21: note: expanded from macro 'cpu_to_le32' #define cpu_to_le32 __cpu_to_le32 ^ include/uapi/linux/byteorder/little_endian.h:34:50: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ drivers/spi/spi-axi-spi-engine.c:425:2: note: Calling 'spi_engine_compile_message' spi_engine_compile_message(spi_engine, msg, true, &p_dry); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/spi/spi-axi-spi-engine.c:215:2: note: Loop condition is false. Execution continues on line 238 list_for_each_entry(xfer, &msg->transfers, transfer_list) { ^ include/linux/list.h:638:2: note: expanded from macro 'list_for_each_entry' for (pos = list_first_entry(head, typeof(*pos), member); \ ^ drivers/spi/spi-axi-spi-engine.c:238:2: note: Returning without writing to 'spi_engine->tx_length', which participates in a condition later return 0; ^ drivers/spi/spi-axi-spi-engine.c:238:2: note: Returning without writing to 'spi_engine->tx_buf' drivers/spi/spi-axi-spi-engine.c:425:2: note: Returning from 'spi_engine_compile_message' spi_engine_compile_message(spi_engine, msg, true, &p_dry); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/spi/spi-axi-spi-engine.c:429:6: note: Assuming 'p' is non-null if (!p) ^~ drivers/spi/spi-axi-spi-engine.c:429:2: note: Taking false branch if (!p) ^ drivers/spi/spi-axi-spi-engine.c:431:2: note: Calling 'spi_engine_compile_message' spi_engine_compile_message(spi_engine, msg, false, p); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/spi/spi-axi-spi-engine.c:215:2: note: Loop condition is false. Execution continues on line 238 list_for_each_entry(xfer, &msg->transfers, transfer_list) { ^ include/linux/list.h:638:2: note: expanded from macro 'list_for_each_entry' for (pos = list_first_entry(head, typeof(*pos), member); \ ^ drivers/spi/spi-axi-spi-engine.c:238:2: note: Returning without writing to 'spi_engine->tx_length', which participates in a condition later return 0; ^ drivers/spi/spi-axi-spi-engine.c:238:2: note: Returning without writing to 'spi_engine->tx_buf' drivers/spi/spi-axi-spi-engine.c:431:2: note: Returning from 'spi_engine_compile_message' spi_engine_compile_message(spi_engine, msg, false, p); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/spi/spi-axi-spi-engine.c:433:2: note: Loop condition is false. Exiting loop spin_lock_irqsave(&spi_engine->lock, flags); ^ include/linux/spinlock.h:379:2: note: expanded from macro 'spin_lock_irqsave' raw_spin_lock_irqsave(spinlock_check(lock), flags); \ ^ include/linux/spinlock.h:240:2: note: expanded from macro 'raw_spin_lock_irqsave' do { \ ^ drivers/spi/spi-axi-spi-engine.c:433:2: note: Loop condition is false. Exiting loop spin_lock_irqsave(&spi_engine->lock, flags); ^ include/linux/spinlock.h:377:43: note: expanded from macro 'spin_lock_irqsave' #define spin_lock_irqsave(lock, flags) \ ^ drivers/spi/spi-axi-spi-engine.c:443:6: note: Calling 'spi_engine_write_cmd_fifo' if (spi_engine_write_cmd_fifo(spi_engine)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/spi/spi-axi-spi-engine.c:299:6: note: Loop condition is false. Exiting loop n = readl_relaxed(spi_engine->base + SPI_ENGINE_REG_CMD_FIFO_ROOM); ^ arch/riscv/include/asm/mmio.h:116:38: note: expanded from macro 'readl_relaxed' #define readl_relaxed(c) ({ u32 __v; __io_rbr(); __v = readl_cpu(c); __io_rar(); __v; }) ^ arch/riscv/include/asm/mmio.h:109:21: note: expanded from macro '__io_rbr' #define __io_rbr() do {} while (0) ^ drivers/spi/spi-axi-spi-engine.c:299:6: note: Loop condition is false. Exiting loop n = readl_relaxed(spi_engine->base + SPI_ENGINE_REG_CMD_FIFO_ROOM); ^ vim +/err +393 drivers/gpu/drm/selftests/test-drm_buddy.c 92937f170d3f49 Arunpravin 2022-02-22 340 e6ff5ef81170e1 Arunpravin 2022-02-22 341 static int igt_buddy_alloc_smoke(void *arg) e6ff5ef81170e1 Arunpravin 2022-02-22 342 { e6ff5ef81170e1 Arunpravin 2022-02-22 343 u64 mm_size, min_page_size, chunk_size, start = 0; e6ff5ef81170e1 Arunpravin 2022-02-22 344 unsigned long flags = 0; e6ff5ef81170e1 Arunpravin 2022-02-22 345 struct drm_buddy mm; e6ff5ef81170e1 Arunpravin 2022-02-22 346 int *order; e6ff5ef81170e1 Arunpravin 2022-02-22 347 int err, i; e6ff5ef81170e1 Arunpravin 2022-02-22 348 e6ff5ef81170e1 Arunpravin 2022-02-22 349 DRM_RND_STATE(prng, random_seed); e6ff5ef81170e1 Arunpravin 2022-02-22 350 IGT_TIMEOUT(end_time); e6ff5ef81170e1 Arunpravin 2022-02-22 351 e6ff5ef81170e1 Arunpravin 2022-02-22 352 igt_mm_config(&mm_size, &chunk_size); e6ff5ef81170e1 Arunpravin 2022-02-22 353 e6ff5ef81170e1 Arunpravin 2022-02-22 354 err = drm_buddy_init(&mm, mm_size, chunk_size); e6ff5ef81170e1 Arunpravin 2022-02-22 355 if (err) { e6ff5ef81170e1 Arunpravin 2022-02-22 356 pr_err("buddy_init failed(%d)\n", err); e6ff5ef81170e1 Arunpravin 2022-02-22 357 return err; e6ff5ef81170e1 Arunpravin 2022-02-22 358 } e6ff5ef81170e1 Arunpravin 2022-02-22 359 e6ff5ef81170e1 Arunpravin 2022-02-22 360 order = drm_random_order(mm.max_order + 1, &prng); e6ff5ef81170e1 Arunpravin 2022-02-22 361 if (!order) e6ff5ef81170e1 Arunpravin 2022-02-22 362 goto out_fini; e6ff5ef81170e1 Arunpravin 2022-02-22 363 e6ff5ef81170e1 Arunpravin 2022-02-22 364 for (i = 0; i <= mm.max_order; ++i) { e6ff5ef81170e1 Arunpravin 2022-02-22 365 struct drm_buddy_block *block; e6ff5ef81170e1 Arunpravin 2022-02-22 366 int max_order = order[i]; e6ff5ef81170e1 Arunpravin 2022-02-22 367 bool timeout = false; e6ff5ef81170e1 Arunpravin 2022-02-22 368 LIST_HEAD(blocks); e6ff5ef81170e1 Arunpravin 2022-02-22 369 u64 total, size; e6ff5ef81170e1 Arunpravin 2022-02-22 370 LIST_HEAD(tmp); e6ff5ef81170e1 Arunpravin 2022-02-22 371 int order; e6ff5ef81170e1 Arunpravin 2022-02-22 372 e6ff5ef81170e1 Arunpravin 2022-02-22 373 err = igt_check_mm(&mm); e6ff5ef81170e1 Arunpravin 2022-02-22 374 if (err) { e6ff5ef81170e1 Arunpravin 2022-02-22 375 pr_err("pre-mm check failed, abort\n"); e6ff5ef81170e1 Arunpravin 2022-02-22 376 break; e6ff5ef81170e1 Arunpravin 2022-02-22 377 } e6ff5ef81170e1 Arunpravin 2022-02-22 378 e6ff5ef81170e1 Arunpravin 2022-02-22 379 order = max_order; e6ff5ef81170e1 Arunpravin 2022-02-22 380 total = 0; e6ff5ef81170e1 Arunpravin 2022-02-22 381 e6ff5ef81170e1 Arunpravin 2022-02-22 382 do { e6ff5ef81170e1 Arunpravin 2022-02-22 383 retry: e6ff5ef81170e1 Arunpravin 2022-02-22 384 size = min_page_size = get_size(order, chunk_size); e6ff5ef81170e1 Arunpravin 2022-02-22 385 err = drm_buddy_alloc_blocks(&mm, start, mm_size, size, e6ff5ef81170e1 Arunpravin 2022-02-22 386 min_page_size, &tmp, flags); e6ff5ef81170e1 Arunpravin 2022-02-22 387 if (err) { e6ff5ef81170e1 Arunpravin 2022-02-22 388 if (err == -ENOMEM) { e6ff5ef81170e1 Arunpravin 2022-02-22 389 pr_info("buddy_alloc hit -ENOMEM with order=%d\n", e6ff5ef81170e1 Arunpravin 2022-02-22 390 order); e6ff5ef81170e1 Arunpravin 2022-02-22 391 } else { e6ff5ef81170e1 Arunpravin 2022-02-22 392 if (order--) { e6ff5ef81170e1 Arunpravin 2022-02-22 @393 err = 0; e6ff5ef81170e1 Arunpravin 2022-02-22 394 goto retry; e6ff5ef81170e1 Arunpravin 2022-02-22 395 } e6ff5ef81170e1 Arunpravin 2022-02-22 396 e6ff5ef81170e1 Arunpravin 2022-02-22 397 pr_err("buddy_alloc with order=%d failed(%d)\n", e6ff5ef81170e1 Arunpravin 2022-02-22 398 order, err); e6ff5ef81170e1 Arunpravin 2022-02-22 399 } e6ff5ef81170e1 Arunpravin 2022-02-22 400 e6ff5ef81170e1 Arunpravin 2022-02-22 401 break; e6ff5ef81170e1 Arunpravin 2022-02-22 402 } e6ff5ef81170e1 Arunpravin 2022-02-22 403 e6ff5ef81170e1 Arunpravin 2022-02-22 404 block = list_first_entry_or_null(&tmp, e6ff5ef81170e1 Arunpravin 2022-02-22 405 struct drm_buddy_block, e6ff5ef81170e1 Arunpravin 2022-02-22 406 link); e6ff5ef81170e1 Arunpravin 2022-02-22 407 if (!block) { e6ff5ef81170e1 Arunpravin 2022-02-22 408 pr_err("alloc_blocks has no blocks\n"); e6ff5ef81170e1 Arunpravin 2022-02-22 409 err = -EINVAL; e6ff5ef81170e1 Arunpravin 2022-02-22 410 break; e6ff5ef81170e1 Arunpravin 2022-02-22 411 } e6ff5ef81170e1 Arunpravin 2022-02-22 412 e6ff5ef81170e1 Arunpravin 2022-02-22 413 list_move_tail(&block->link, &blocks); e6ff5ef81170e1 Arunpravin 2022-02-22 414 e6ff5ef81170e1 Arunpravin 2022-02-22 415 if (drm_buddy_block_order(block) != order) { e6ff5ef81170e1 Arunpravin 2022-02-22 416 pr_err("buddy_alloc order mismatch\n"); e6ff5ef81170e1 Arunpravin 2022-02-22 417 err = -EINVAL; e6ff5ef81170e1 Arunpravin 2022-02-22 418 break; e6ff5ef81170e1 Arunpravin 2022-02-22 419 } e6ff5ef81170e1 Arunpravin 2022-02-22 420 e6ff5ef81170e1 Arunpravin 2022-02-22 421 total += drm_buddy_block_size(&mm, block); e6ff5ef81170e1 Arunpravin 2022-02-22 422 e6ff5ef81170e1 Arunpravin 2022-02-22 423 if (__igt_timeout(end_time, NULL)) { e6ff5ef81170e1 Arunpravin 2022-02-22 424 timeout = true; e6ff5ef81170e1 Arunpravin 2022-02-22 425 break; e6ff5ef81170e1 Arunpravin 2022-02-22 426 } e6ff5ef81170e1 Arunpravin 2022-02-22 427 } while (total < mm.size); e6ff5ef81170e1 Arunpravin 2022-02-22 428 e6ff5ef81170e1 Arunpravin 2022-02-22 429 if (!err) e6ff5ef81170e1 Arunpravin 2022-02-22 430 err = igt_check_blocks(&mm, &blocks, total, false); e6ff5ef81170e1 Arunpravin 2022-02-22 431 e6ff5ef81170e1 Arunpravin 2022-02-22 432 drm_buddy_free_list(&mm, &blocks); e6ff5ef81170e1 Arunpravin 2022-02-22 433 e6ff5ef81170e1 Arunpravin 2022-02-22 434 if (!err) { e6ff5ef81170e1 Arunpravin 2022-02-22 435 err = igt_check_mm(&mm); e6ff5ef81170e1 Arunpravin 2022-02-22 436 if (err) e6ff5ef81170e1 Arunpravin 2022-02-22 437 pr_err("post-mm check failed\n"); e6ff5ef81170e1 Arunpravin 2022-02-22 438 } e6ff5ef81170e1 Arunpravin 2022-02-22 439 e6ff5ef81170e1 Arunpravin 2022-02-22 440 if (err || timeout) e6ff5ef81170e1 Arunpravin 2022-02-22 441 break; e6ff5ef81170e1 Arunpravin 2022-02-22 442 e6ff5ef81170e1 Arunpravin 2022-02-22 443 cond_resched(); e6ff5ef81170e1 Arunpravin 2022-02-22 444 } e6ff5ef81170e1 Arunpravin 2022-02-22 445 e6ff5ef81170e1 Arunpravin 2022-02-22 446 if (err == -ENOMEM) e6ff5ef81170e1 Arunpravin 2022-02-22 447 err = 0; e6ff5ef81170e1 Arunpravin 2022-02-22 448 e6ff5ef81170e1 Arunpravin 2022-02-22 449 kfree(order); e6ff5ef81170e1 Arunpravin 2022-02-22 450 out_fini: e6ff5ef81170e1 Arunpravin 2022-02-22 451 drm_buddy_fini(&mm); e6ff5ef81170e1 Arunpravin 2022-02-22 452 e6ff5ef81170e1 Arunpravin 2022-02-22 453 return err; e6ff5ef81170e1 Arunpravin 2022-02-22 454 } e6ff5ef81170e1 Arunpravin 2022-02-22 455 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org _______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org