x86 mmiotrace: fix save/restore page table state
authorPekka Paalanen <pq@iki.fi>
Sun, 1 Mar 2009 14:11:58 +0000 (16:11 +0200)
committerIngo Molnar <mingo@elte.hu>
Mon, 2 Mar 2009 09:20:36 +0000 (10:20 +0100)
commit5359b585fb5edb3db34d6cd491e1475b098c61d3
treec7b743a28a0561977777e8d30ef64ba70b745ef2
parente9d54cae8f03e7f963a12f44bd50d68f49b9ea36
x86 mmiotrace: fix save/restore page table state

From baa99e2b32449ec7bf147c234adfa444caecac8a Mon Sep 17 00:00:00 2001
From: Pekka Paalanen <pq@iki.fi>
Date: Sun, 22 Feb 2009 20:02:43 +0200

Blindly setting _PAGE_PRESENT in disarm_kmmio_fault_page() overlooks the
possibility, that the page was not present when it was armed.

Make arm_kmmio_fault_page() store the previous page presence in struct
kmmio_fault_page and use it on disarm.

This patch was originally written by Stuart Bennett, but Pekka Paalanen
rewrote it a little different.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
Cc: Stuart Bennett <stuart@freedesktop.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/mm/kmmio.c