CC: kbuild-...@lists.01.org CC: linux-ker...@vger.kernel.org TO: David Rientjes <rient...@google.com> CC: Christoph Hellwig <h...@lst.de>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: e8878ab825450c9ac07a0fc22e1f66fdb62b4f72 commit: 54adadf9b08571fb8b11dc9d0d3a2ddd39825efd dma-pool: dynamically expanding atomic pools date: 5 months ago :::::: branch date: 3 hours ago :::::: commit date: 5 months ago compiler: nds32le-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> cppcheck warnings: (new ones prefixed by >>) >> kernel/dma/pool.c:62:6: warning: Variable 'ret' is reassigned a value before >> the old one has been used. [redundantAssignment] ret = gen_pool_add_virt(pool, (unsigned long)addr, page_to_phys(page), ^ kernel/dma/pool.c:37:0: note: Variable 'ret' is reassigned a value before the old one has been used. int ret = -ENOMEM; ^ kernel/dma/pool.c:62:6: note: Variable 'ret' is reassigned a value before the old one has been used. ret = gen_pool_add_virt(pool, (unsigned long)addr, page_to_phys(page), ^ # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=54adadf9b08571fb8b11dc9d0d3a2ddd39825efd git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 54adadf9b08571fb8b11dc9d0d3a2ddd39825efd vim +/ret +62 kernel/dma/pool.c e860c299ac0d73 David Rientjes 2020-04-14 30 54adadf9b08571 David Rientjes 2020-04-20 31 static int atomic_pool_expand(struct gen_pool *pool, size_t pool_size, 54adadf9b08571 David Rientjes 2020-04-20 32 gfp_t gfp) e860c299ac0d73 David Rientjes 2020-04-14 33 { 54adadf9b08571 David Rientjes 2020-04-20 34 unsigned int order; e860c299ac0d73 David Rientjes 2020-04-14 35 struct page *page; e860c299ac0d73 David Rientjes 2020-04-14 36 void *addr; 54adadf9b08571 David Rientjes 2020-04-20 37 int ret = -ENOMEM; 54adadf9b08571 David Rientjes 2020-04-20 38 54adadf9b08571 David Rientjes 2020-04-20 39 /* Cannot allocate larger than MAX_ORDER-1 */ 54adadf9b08571 David Rientjes 2020-04-20 40 order = min(get_order(pool_size), MAX_ORDER-1); 54adadf9b08571 David Rientjes 2020-04-20 41 54adadf9b08571 David Rientjes 2020-04-20 42 do { 54adadf9b08571 David Rientjes 2020-04-20 43 pool_size = 1 << (PAGE_SHIFT + order); e860c299ac0d73 David Rientjes 2020-04-14 44 e860c299ac0d73 David Rientjes 2020-04-14 45 if (dev_get_cma_area(NULL)) 54adadf9b08571 David Rientjes 2020-04-20 46 page = dma_alloc_from_contiguous(NULL, 1 << order, 54adadf9b08571 David Rientjes 2020-04-20 47 order, false); e860c299ac0d73 David Rientjes 2020-04-14 48 else c84dc6e68a1d24 David Rientjes 2020-04-14 49 page = alloc_pages(gfp, order); 54adadf9b08571 David Rientjes 2020-04-20 50 } while (!page && order-- > 0); e860c299ac0d73 David Rientjes 2020-04-14 51 if (!page) e860c299ac0d73 David Rientjes 2020-04-14 52 goto out; e860c299ac0d73 David Rientjes 2020-04-14 53 c84dc6e68a1d24 David Rientjes 2020-04-14 54 arch_dma_prep_coherent(page, pool_size); e860c299ac0d73 David Rientjes 2020-04-14 55 c84dc6e68a1d24 David Rientjes 2020-04-14 56 addr = dma_common_contiguous_remap(page, pool_size, e860c299ac0d73 David Rientjes 2020-04-14 57 pgprot_dmacoherent(PAGE_KERNEL), e860c299ac0d73 David Rientjes 2020-04-14 58 __builtin_return_address(0)); e860c299ac0d73 David Rientjes 2020-04-14 59 if (!addr) 54adadf9b08571 David Rientjes 2020-04-20 60 goto free_page; e860c299ac0d73 David Rientjes 2020-04-14 61 54adadf9b08571 David Rientjes 2020-04-20 @62 ret = gen_pool_add_virt(pool, (unsigned long)addr, page_to_phys(page), 54adadf9b08571 David Rientjes 2020-04-20 63 pool_size, NUMA_NO_NODE); e860c299ac0d73 David Rientjes 2020-04-14 64 if (ret) e860c299ac0d73 David Rientjes 2020-04-14 65 goto remove_mapping; e860c299ac0d73 David Rientjes 2020-04-14 66 e860c299ac0d73 David Rientjes 2020-04-14 67 return 0; e860c299ac0d73 David Rientjes 2020-04-14 68 e860c299ac0d73 David Rientjes 2020-04-14 69 remove_mapping: c84dc6e68a1d24 David Rientjes 2020-04-14 70 dma_common_free_remap(addr, pool_size); e860c299ac0d73 David Rientjes 2020-04-14 71 free_page: 54adadf9b08571 David Rientjes 2020-04-20 72 if (!dma_release_from_contiguous(NULL, page, 1 << order)) c84dc6e68a1d24 David Rientjes 2020-04-14 73 __free_pages(page, order); e860c299ac0d73 David Rientjes 2020-04-14 74 out: 54adadf9b08571 David Rientjes 2020-04-20 75 return ret; 54adadf9b08571 David Rientjes 2020-04-20 76 } 54adadf9b08571 David Rientjes 2020-04-20 77 --- 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