Пример #1
0
static void unpoison_highpage(struct page *page)
{
	/*
	 * See comment in poison_highpage().
	 * Highmem pages should not be poisoned for now
	 */
	BUG_ON(page_poison(page));
}
static void unpoison_page(struct page *page)
{
	void *addr;

	if (!page_poison(page))
		return;

	addr = kmap_atomic(page);
	check_poison_mem(addr, PAGE_SIZE);
	clear_page_poison(page);
	kunmap_atomic(addr);
}
Пример #3
0
static void unpoison_page(struct page *page)
{
	if (PageHighMem(page)) {
		unpoison_highpage(page);
		return;
	}
	if (page_poison(page)) {
		void *addr = page_address(page);

		check_poison_mem(addr, PAGE_SIZE);
		clear_page_poison(page);
	}
}
Пример #4
0
static void unpoison_page(struct page *page)
{
	if (PageHighMem(page)) {
		unpoison_highpage(page);
		return;
	}
	if (page_poison(page)) {
		void *addr = page_address(page);
		check_poison_mem(addr, PAGE_SIZE);
		clear_page_poison(page);
	}

	addr = kmap_atomic(page);
	check_poison_mem(addr, PAGE_SIZE);
	mark_addr_rdwrite(addr);
	clear_page_poison(page);
	kunmap_atomic(addr);
}
Пример #5
0
static void unpoison_page(struct page *page)
{
	void *addr;

	if (!page_poison(page))
		return;

/* IAMROOT-12AB:
 * -------------
 * 페이지 프레임에서 POISON 데이터를 확인하여 이상이 있는 경우 메시지를 
 * 출력하여 경고한다. 그 후 page_ext->flags의 PAGE_EXT_DEBUG_POISON 플래그를 
 * clear한다.
 */
	addr = kmap_atomic(page);
	check_poison_mem(addr, PAGE_SIZE);
	clear_page_poison(page);
	kunmap_atomic(addr);
}