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

Commit 4a567582 authored by WANG Cong's avatar WANG Cong Committed by Linus Torvalds
Browse files

arch/um/kernel/mem.c: remove arch_validate()



- Remove arch_validate(), because no one uses it.

- Remove useless macro HAVE_ARCH_VALIDATE.

- Make the variable 'empty_bad_page' static.

Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: default avatarWANG Cong <wangcong@zeuux.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4c182ae7
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ EXPORT_SYMBOL(get_signals);
EXPORT_SYMBOL(kernel_thread);
EXPORT_SYMBOL(sys_waitpid);
EXPORT_SYMBOL(flush_tlb_range);
EXPORT_SYMBOL(arch_validate);

EXPORT_SYMBOL(high_physmem);
EXPORT_SYMBOL(empty_zero_page);
+1 −32
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
/* allocated in paging_init, zeroed in mem_init, and unchanged thereafter */
unsigned long *empty_zero_page = NULL;
/* allocated in paging_init and unchanged thereafter */
unsigned long *empty_bad_page = NULL;
static unsigned long *empty_bad_page = NULL;

/*
 * Initialized during boot, and readonly for initializing page tables
@@ -240,37 +240,6 @@ void __init paging_init(void)
#endif
}

struct page *arch_validate(struct page *page, gfp_t mask, int order)
{
	unsigned long addr, zero = 0;
	int i;

 again:
	if (page == NULL)
		return page;
	if (PageHighMem(page))
		return page;

	addr = (unsigned long) page_address(page);
	for (i = 0; i < (1 << order); i++) {
		current->thread.fault_addr = (void *) addr;
		if (__do_copy_to_user((void __user *) addr, &zero,
				     sizeof(zero),
				     &current->thread.fault_addr,
				     &current->thread.fault_catcher)) {
			if (!(mask & __GFP_WAIT))
				return NULL;
			else break;
		}
		addr += PAGE_SIZE;
	}

	if (i == (1 << order))
		return page;
	page = alloc_pages(mask, order);
	goto again;
}

/*
 * This can't do anything because nothing in the kernel image can be freed
 * since it's not in kernel physical memory.
+0 −3
Original line number Diff line number Diff line
@@ -115,9 +115,6 @@ extern unsigned long uml_physmem;
#define pfn_valid(pfn) ((pfn) < max_mapnr)
#define virt_addr_valid(v) pfn_valid(phys_to_pfn(__pa(v)))

extern struct page *arch_validate(struct page *page, gfp_t mask, int order);
#define HAVE_ARCH_VALIDATE

#include <asm-generic/memory_model.h>
#include <asm-generic/page.h>