summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2005-10-11 01:03:39 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-11 01:10:33 +0200
commit094804c5a132f04c12dd4902ee15c64362e5c1af (patch)
tree44a146301f43a7ba9db72308585122218ccafe6f /arch
parentMerge master.kernel.org:/home/rmk/linux-2.6-ucb (diff)
downloadlinux-094804c5a132f04c12dd4902ee15c64362e5c1af.tar.xz
linux-094804c5a132f04c12dd4902ee15c64362e5c1af.zip
[PATCH] x86_64: Fix change_page_attr cache flushing
Noticed by Terence Ripperda Undo wrong change in global_flush_tlb. We need to flush the caches in all cases, not just when pages were reverted. This was a bogus optimization added earlier, but it was wrong. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86_64/mm/pageattr.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/arch/x86_64/mm/pageattr.c b/arch/x86_64/mm/pageattr.c
index 94862e1ec032..b90e8fe9eeb0 100644
--- a/arch/x86_64/mm/pageattr.c
+++ b/arch/x86_64/mm/pageattr.c
@@ -220,8 +220,6 @@ void global_flush_tlb(void)
down_read(&init_mm.mmap_sem);
df = xchg(&df_list, NULL);
up_read(&init_mm.mmap_sem);
- if (!df)
- return;
flush_map((df && !df->next) ? df->address : 0);
for (; df; df = next_df) {
next_df = df->next;