diff options
author | 2013-10-30 14:27:10 -0700 | |
---|---|---|
committer | 2013-10-30 14:27:10 -0700 | |
commit | 12aee278b50c4a94a93fa0b4d201ae35d792c696 (patch) | |
tree | 98c0c42c9095aae34d12a4b8c555176698b7202a /mm | |
parent | mm: list_lru: fix almost infinite loop causing effective livelock (diff) | |
parent | memcg: use __this_cpu_sub() to dec stats to avoid incorrect subtrahend casting (diff) | |
download | linux-12aee278b50c4a94a93fa0b4d201ae35d792c696.tar.gz linux-12aee278b50c4a94a93fa0b4d201ae35d792c696.tar.bz2 linux-12aee278b50c4a94a93fa0b4d201ae35d792c696.zip |
Merge branch 'akpm' (fixes from Andrew Morton)
Merge three fixes from Andrew Morton.
* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
memcg: use __this_cpu_sub() to dec stats to avoid incorrect subtrahend casting
percpu: fix this_cpu_sub() subtrahend casting for unsigneds
mm/pagewalk.c: fix walk_page_range() access of wrong PTEs
Diffstat (limited to 'mm')
-rw-r--r-- | mm/memcontrol.c | 2 | ||||
-rw-r--r-- | mm/pagewalk.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 34d3ca9572d6..497ec33ff22d 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -3774,7 +3774,7 @@ void mem_cgroup_move_account_page_stat(struct mem_cgroup *from, /* Update stat data for mem_cgroup */ preempt_disable(); WARN_ON_ONCE(from->stat->count[idx] < nr_pages); - __this_cpu_add(from->stat->count[idx], -nr_pages); + __this_cpu_sub(from->stat->count[idx], nr_pages); __this_cpu_add(to->stat->count[idx], nr_pages); preempt_enable(); } diff --git a/mm/pagewalk.c b/mm/pagewalk.c index 5da2cbcfdbb5..2beeabf502c5 100644 --- a/mm/pagewalk.c +++ b/mm/pagewalk.c @@ -242,7 +242,7 @@ int walk_page_range(unsigned long addr, unsigned long end, if (err) break; pgd++; - } while (addr = next, addr != end); + } while (addr = next, addr < end); return err; } |