diff options
author | Dmitry Vyukov <dvyukov@google.com> | 2014-12-12 19:56:30 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-13 15:42:49 -0500 |
commit | 7e5b528b4ce31208ef5c240c14beec4853d8262c (patch) | |
tree | d42f428802ade412a8c3c6ec5271a9e29c68c806 | |
parent | 6a2d5679b4a852a3bf80c570644456ab466ab714 (diff) |
mm/vmalloc.c: fix memory ordering bug
Read memory barriers must follow the read operations.
Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
Cc: Eric Dumazet <edumazet@google.com>
Acked-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | mm/vmalloc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 8a18196fcdff..39c338896416 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c | |||
@@ -2574,10 +2574,10 @@ static void show_numa_info(struct seq_file *m, struct vm_struct *v) | |||
2574 | if (!counters) | 2574 | if (!counters) |
2575 | return; | 2575 | return; |
2576 | 2576 | ||
2577 | /* Pair with smp_wmb() in clear_vm_uninitialized_flag() */ | ||
2578 | smp_rmb(); | ||
2579 | if (v->flags & VM_UNINITIALIZED) | 2577 | if (v->flags & VM_UNINITIALIZED) |
2580 | return; | 2578 | return; |
2579 | /* Pair with smp_wmb() in clear_vm_uninitialized_flag() */ | ||
2580 | smp_rmb(); | ||
2581 | 2581 | ||
2582 | memset(counters, 0, nr_node_ids * sizeof(unsigned int)); | 2582 | memset(counters, 0, nr_node_ids * sizeof(unsigned int)); |
2583 | 2583 | ||