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);