]> git.baikalelectronics.ru Git - kernel.git/commit
[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)
commitd7ff374f785aa5761536888b9b349cf0419308ae
treedd1b97332a053197175b13a3fe7d62e568c6f3f1
parent31540bb4912bfb068d0ce83e66d30906b4dd91c7
[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