Use an external declaration in exit.c for fs_cachep. fs_cachep is only used in kernel/exit.c and in kernel/fork.c. It is defined in kernel/fork.c so we need to add an external declaration to kernel/exit.c to be able to avoid the declaration. Signed-off-by: Christoph Lameter Index: linux-2.6.19-rc5-mm2/include/linux/slab.h =================================================================== --- linux-2.6.19-rc5-mm2.orig/include/linux/slab.h 2006-11-17 23:04:05.859898302 -0600 +++ linux-2.6.19-rc5-mm2/include/linux/slab.h 2006-11-17 23:04:09.679562142 -0600 @@ -298,7 +298,6 @@ static inline void kmem_set_shrinker(kme /* System wide caches */ extern kmem_cache_t *names_cachep; -extern kmem_cache_t *fs_cachep; #endif /* __KERNEL__ */ Index: linux-2.6.19-rc5-mm2/kernel/exit.c =================================================================== --- linux-2.6.19-rc5-mm2.orig/kernel/exit.c 2006-11-15 16:48:11.485511089 -0600 +++ linux-2.6.19-rc5-mm2/kernel/exit.c 2006-11-17 23:04:09.764530373 -0600 @@ -48,6 +48,8 @@ #include #include +extern kmem_cache_t *fs_cachep; + extern void sem_exit (void); static void exit_mm(struct task_struct * tsk);