Re: [linux-next:master 1811/2084] mm/slab.h:316:9: error: implicit declaration of function 'virt_to_head_page'
From: Jesper Dangaard Brouer <hidden>
Date: 2016-01-28 14:22:09
Subsystem:
memory management, slab allocator, the rest · Maintainers:
Andrew Morton, Vlastimil Babka, Harry Yoo, Linus Torvalds
Hi Andrew, Looks like I forgot to include linux/mm.h. Will you fix up your quilt patch: http://ozlabs.org/~akpm/mmots/broken-out/mm-fault-inject-take-over-bootstrap-kmem_cache-check.patch Or how does it work with the MM tree? Fix needed (verified and compile tested on linux-next): $ git diff
diff --git a/mm/failslab.c b/mm/failslab.c
index 0c5b3f31f310..b0fac98cd938 100644
--- a/mm/failslab.c
+++ b/mm/failslab.c@@ -1,5 +1,6 @@ #include <linux/fault-inject.h> #include <linux/slab.h> +#include <linux/mm.h> #include "slab.h" static struct { - --
Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat Author of http://www.iptv-analyzer.org LinkedIn: http://www.linkedin.com/in/brouer On Thu, 28 Jan 2016 16:07:16 +0800 kbuild test robot [off-list ref] wrote:
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 888c8375131656144c1605071eab2eb6ac49abc3 commit: 074b6f53c320a81e975c0b5dd79daa5e78a711ba [1811/2084] mm: fault-inject take over bootstrap kmem_cache check config: i386-randconfig-a0-01271607 (attached as .config) reproduce: git checkout 074b6f53c320a81e975c0b5dd79daa5e78a711ba # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): In file included from mm/failslab.c:3:0: mm/slab.h: In function 'cache_from_obj':quoted
quoted
mm/slab.h:316:9: error: implicit declaration of function 'virt_to_head_page' [-Werror=implicit-function-declaration]page = virt_to_head_page(x); ^quoted
quoted
mm/slab.h:316:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]page = virt_to_head_page(x); ^ cc1: some warnings being treated as errors vim +/virt_to_head_page +316 mm/slab.h b9ce5ef4 Glauber Costa 2012-12-18 310 * to not do even the assignment. In that case, slab_equal_or_root b9ce5ef4 Glauber Costa 2012-12-18 311 * will also be a constant. b9ce5ef4 Glauber Costa 2012-12-18 312 */ b9ce5ef4 Glauber Costa 2012-12-18 313 if (!memcg_kmem_enabled() && !unlikely(s->flags & SLAB_DEBUG_FREE)) b9ce5ef4 Glauber Costa 2012-12-18 314 return s; b9ce5ef4 Glauber Costa 2012-12-18 315 b9ce5ef4 Glauber Costa 2012-12-18 @316 page = virt_to_head_page(x); b9ce5ef4 Glauber Costa 2012-12-18 317 cachep = page->slab_cache; b9ce5ef4 Glauber Costa 2012-12-18 318 if (slab_equal_or_root(cachep, s)) b9ce5ef4 Glauber Costa 2012-12-18 319 return cachep; :::::: The code at line 316 was first introduced by commit :::::: b9ce5ef49f00daf2254c6953c8d31f79aabccd34 sl[au]b: always get the cache from its page in kmem_cache_free() :::::: TO: Glauber Costa [off-list ref] :::::: CC: Linus Torvalds [off-list ref] --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
-- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>