Skip to content

Commit a953e77

Browse files
Souptick Joardertorvalds
authored andcommitted
include/linux/hugetlb.h: convert to use vm_fault_t
kbuild produces the below warning: tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 5453a3d commit 3d35390 ("mm: create the new vm_fault_t type") reproduce: # apt-get install sparse git checkout 3d35390 make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' >> mm/memory.c:3968:21: sparse: incorrect type in assignment (different >> base types) @@ expected restricted vm_fault_t [usertype] ret @@ >> got e] ret @@ mm/memory.c:3968:21: expected restricted vm_fault_t [usertype] ret mm/memory.c:3968:21: got int This patch converts to return vm_fault_t type for hugetlb_fault() when CONFIG_HUGETLB_PAGE=n. Regarding the sparse warning, Luc said: : This is the expected behaviour. The constant 0 is magic regarding bitwise : types but ({ ...; 0; }) is not, it is just an ordinary expression of type : 'int'. : : So, IMHO, Souptick's patch is the right thing to do. Link: http://lkml.kernel.org/r/20190318162604.GA31553@jordon-HP-15-Notebook-PC Signed-off-by: Souptick Joarder <[email protected]> Reviewed-by: Mike Kravetz <[email protected]> Cc: Matthew Wilcox <[email protected]> Cc: Luc Van Oostenryck <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent 0a35255 commit a953e77

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

include/linux/hugetlb.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,6 @@ static inline void hugetlb_show_meminfo(void)
203203
#define pud_huge(x) 0
204204
#define is_hugepage_only_range(mm, addr, len) 0
205205
#define hugetlb_free_pgd_range(tlb, addr, end, floor, ceiling) ({BUG(); 0; })
206-
#define hugetlb_fault(mm, vma, addr, flags) ({ BUG(); 0; })
207206
#define hugetlb_mcopy_atomic_pte(dst_mm, dst_pte, dst_vma, dst_addr, \
208207
src_addr, pagep) ({ BUG(); 0; })
209208
#define huge_pte_offset(mm, address, sz) 0
@@ -234,6 +233,13 @@ static inline void __unmap_hugepage_range(struct mmu_gather *tlb,
234233
{
235234
BUG();
236235
}
236+
static inline vm_fault_t hugetlb_fault(struct mm_struct *mm,
237+
struct vm_area_struct *vma, unsigned long address,
238+
unsigned int flags)
239+
{
240+
BUG();
241+
return 0;
242+
}
237243

238244
#endif /* !CONFIG_HUGETLB_PAGE */
239245
/*

0 commit comments

Comments
 (0)