Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[MIPS] Drop 0 definition for kern_addr_valid

kern_addr_valid is currently only being used in kmem_ptr_validate which
is making some vague attempt at verfying the validity of an address.
Only IA-64, PARISC and x86-64 actually make some actual effort to verify
the validity of the pointer. Most architecture definitions of
kern_addr_valid() just define it as 1; the Alpha and CONFIG_DISCONTIGMEM
on i386 and MIPS even as 0; the 0-definition will result in
kmem_ptr_validate always failing which in turn will cause d_validate to
always fail. d_validate's only two users are smbfs and ncpfs, so the
0 definition ended breaking those ...

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

-5
-3
include/asm-mips/mmzone.h
··· 14 14 #define kvaddr_to_nid(kvaddr) pa_to_nid(__pa(kvaddr)) 15 15 #define pfn_to_nid(pfn) pa_to_nid((pfn) << PAGE_SHIFT) 16 16 17 - /* XXX: FIXME -- wli */ 18 - #define kern_addr_valid(addr) (0) 19 - 20 17 #endif /* CONFIG_DISCONTIGMEM */ 21 18 22 19 #endif /* _ASM_MMZONE_H_ */
-2
include/asm-mips/pgtable.h
··· 379 379 __update_cache(vma, address, pte); 380 380 } 381 381 382 - #ifndef CONFIG_NEED_MULTIPLE_NODES 383 382 #define kern_addr_valid(addr) (1) 384 - #endif 385 383 386 384 #ifdef CONFIG_64BIT_PHYS_ADDR 387 385 extern int remap_pfn_range(struct vm_area_struct *vma, unsigned long from, unsigned long pfn, unsigned long size, pgprot_t prot);