[PATCH] i386/x86-64: Don't call change_page_attr with a spinlock held
authorAndi Kleen <ak@suse.de>
Tue, 13 Dec 2005 06:17:09 +0000 (22:17 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 13 Dec 2005 06:31:16 +0000 (22:31 -0800)
commitbf5421c309bb89e5106452bc840983b1b4754d61
treedd1b97332a053197175b13a3fe7d62e568c6f3f1
parent5e9ef02ec00c70840661d174dc2f4862db471bb6
[PATCH] i386/x86-64: Don't call change_page_attr with a spinlock held

It's illegal because it can sleep.

Use a two step lookup scheme instead.  First look up the vm_struct, then
change the direct mapping, then finally unmap it.  That's ok because nobody
can change the particular virtual address range as long as the vm_struct is
still in the global list.

Also added some LinuxDoc documentation to iounmap.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/mm/ioremap.c
arch/x86_64/mm/ioremap.c