Commit f42647acc4eab1befa9e290691ed7a40f9a7d3cc

Authored by Hugh Dickins
Committed by Linus Torvalds
1 parent 8bea8672ed

fix ksm.h breakage of nommu build

Commit 5ad6468801d28c4d4ac9f48ec19297817c915f6a "ksm: let shared pages
be swappable" breaks the build on m68knommu and I suspect on any nommu:

  In file included from kernel/fork.c:52:
  include/linux/ksm.h:129: warning: 'enum ttu_flags' declared inside parameter list
  include/linux/ksm.h:129: warning: its scope is only this definition or declaration, which is probably not what you want
  include/linux/ksm.h:129: error: parameter 2 ('flags') has incomplete type
  make[1]: *** [kernel/fork.o] Error 1
  make[1]: *** Waiting for unfinished jobs....

Let's fix that with CONFIG_MMU around most of the !CONFIG_KSM declarations.

Reported-by: Steven King <sfking@fdwdc.com>
Signed-off-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>
Tested-by: Steven King <sfking@fdwdc.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 1 changed file with 8 additions and 6 deletions Side-by-side Diff

... ... @@ -94,12 +94,6 @@
94 94  
95 95 #else /* !CONFIG_KSM */
96 96  
97   -static inline int ksm_madvise(struct vm_area_struct *vma, unsigned long start,
98   - unsigned long end, int advice, unsigned long *vm_flags)
99   -{
100   - return 0;
101   -}
102   -
103 97 static inline int ksm_fork(struct mm_struct *mm, struct mm_struct *oldmm)
104 98 {
105 99 return 0;
... ... @@ -114,6 +108,13 @@
114 108 return 0;
115 109 }
116 110  
  111 +#ifdef CONFIG_MMU
  112 +static inline int ksm_madvise(struct vm_area_struct *vma, unsigned long start,
  113 + unsigned long end, int advice, unsigned long *vm_flags)
  114 +{
  115 + return 0;
  116 +}
  117 +
117 118 static inline struct page *ksm_might_need_to_copy(struct page *page,
118 119 struct vm_area_struct *vma, unsigned long address)
119 120 {
... ... @@ -140,6 +141,7 @@
140 141 static inline void ksm_migrate_page(struct page *newpage, struct page *oldpage)
141 142 {
142 143 }
  144 +#endif /* CONFIG_MMU */
143 145 #endif /* !CONFIG_KSM */
144 146  
145 147 #endif /* __LINUX_KSM_H */