diff options
author | Andi Kleen <ak@suse.de> | 2005-10-10 19:03:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-10 19:10:33 -0400 |
commit | 094804c5a132f04c12dd4902ee15c64362e5c1af (patch) | |
tree | 44a146301f43a7ba9db72308585122218ccafe6f /arch/x86_64/mm | |
parent | f96c3bbe91117402f13119ce9e609db9087ed58f (diff) |
[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/x86_64/mm')
-rw-r--r-- | arch/x86_64/mm/pageattr.c | 2 |
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) | |||
220 | down_read(&init_mm.mmap_sem); | 220 | down_read(&init_mm.mmap_sem); |
221 | df = xchg(&df_list, NULL); | 221 | df = xchg(&df_list, NULL); |
222 | up_read(&init_mm.mmap_sem); | 222 | up_read(&init_mm.mmap_sem); |
223 | if (!df) | ||
224 | return; | ||
225 | flush_map((df && !df->next) ? df->address : 0); | 223 | flush_map((df && !df->next) ? df->address : 0); |
226 | for (; df; df = next_df) { | 224 | for (; df; df = next_df) { |
227 | next_df = df->next; | 225 | next_df = df->next; |