From 09a5ebdc965e2e155557f84cac83ad244d6ce1a6 Mon Sep 17 00:00:00 2001 From: KAMEZAWA Hiroyuki Date: Wed, 14 Sep 2011 16:21:02 -0700 Subject: [PATCH] --- yaml --- r: 263811 b: refs/heads/master c: 2bbff6c761e31b4642d297513cd3e0e89bc68ff7 h: refs/heads/master i: 263809: c3126d7a84bb7f31fa2b7caee4f5353ad9cd4868 263807: 8031f3f2e76bac299aaeb2bf3ebb1df10bfad09e v: v3 --- [refs] | 2 +- trunk/mm/mempolicy.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 39cbd7764f35..875e338c40c1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8aacc9f550feb09c8b26470498345c192996a68e +refs/heads/master: 2bbff6c761e31b4642d297513cd3e0e89bc68ff7 diff --git a/trunk/mm/mempolicy.c b/trunk/mm/mempolicy.c index b1f70d6eec35..9c51f9f58cac 100644 --- a/trunk/mm/mempolicy.c +++ b/trunk/mm/mempolicy.c @@ -1411,7 +1411,9 @@ asmlinkage long compat_sys_get_mempolicy(int __user *policy, err = sys_get_mempolicy(policy, nm, nr_bits+1, addr, flags); if (!err && nmask) { - err = copy_from_user(bm, nm, alloc_size); + unsigned long copy_size; + copy_size = min_t(unsigned long, sizeof(bm), alloc_size); + err = copy_from_user(bm, nm, copy_size); /* ensure entire bitmap is zeroed */ err |= clear_user(nmask, ALIGN(maxnode-1, 8) / 8); err |= compat_put_bitmap(nmask, bm, nr_bits);