Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0738c4bb authored by Paul Mundt's avatar Paul Mundt Committed by Linus Torvalds
Browse files

nommu: Provide is_vmalloc_addr() stub.



Introduced in commit-id 9e2779fa and
ifdef'ed out for nommu in 8ca3ed87, both
approaches end up breaking the nommu build in different ways. An
impressive feat for a 2-liner.

Current is_vmalloc_addr() users fall in to two camps:

	- Determining whether to use vfree()/kfree()
	- Whether to do vmlist traversal (only /proc/kcore).

Since we don't support /proc/kcore on nommu, that leaves the
vfree()/kfree() determination use cases. nommu vfree() happens to be a
wrapper to kfree() anyways, so is_vmalloc_addr() can always return 0
and end up with the right behaviour.

Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent baadac8b
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -235,15 +235,22 @@ static inline int get_page_unless_zero(struct page *page)
struct page *vmalloc_to_page(const void *addr);
unsigned long vmalloc_to_pfn(const void *addr);

#ifdef CONFIG_MMU
/* Determine if an address is within the vmalloc range */
/*
 * Determine if an address is within the vmalloc range
 *
 * On nommu, vmalloc/vfree wrap through kmalloc/kfree directly, so there
 * is no special casing required.
 */
static inline int is_vmalloc_addr(const void *x)
{
#ifdef CONFIG_MMU
	unsigned long addr = (unsigned long)x;

	return addr >= VMALLOC_START && addr < VMALLOC_END;
}
#else
	return 0;
#endif
}

static inline struct page *compound_head(struct page *page)
{