Re: mmotm 2011-06-30-15-59 uploaded

From: KAMEZAWA Hiroyuki
Date: Tue Jul 05 2011 - 21:55:47 EST


On Thu, 30 Jun 2011 15:59:43 -0700
akpm@xxxxxxxxxxxxxxxxxxxx wrote:

> The mm-of-the-moment snapshot 2011-06-30-15-59 has been uploaded to
>
> http://userweb.kernel.org/~akpm/mmotm/
>
> and will soon be available at
> git://zen-kernel.org/kernel/mmotm.git
> or
> git://git.cmpxchg.org/linux-mmotm.git
>
> It contains the following patches against 3.0-rc5:
>

==
Because of x86-implement-strict-user-copy-checks-for-x86_64.patch

At compling mm/mempolicy.c, following warning is shown.

In file included from /home/kamezawa/Kernel/mmotm-0701/arch/x86/include/asm/uaccess.h:572,
from include/linux/uaccess.h:5,
from include/linux/highmem.h:7,
from include/linux/pagemap.h:10,
from include/linux/mempolicy.h:70,
from mm/mempolicy.c:68:
In function ?copy_from_user?,
inlined from ?compat_sys_get_mempolicy? at mm/mempolicy.c:1415:
.../mmotm-0701/arch/x86/include/asm/uaccess_64.h:64: warning: call to ?copy_from_user_overflow? declared with attribute warning: copy_from_user() buffer size is not provably correct
LD mm/built-in.o

Fix this by passing correct buffer size value.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
---
mm/mempolicy.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Index: mmotm-0701/mm/mempolicy.c
===================================================================
--- mmotm-0701.orig/mm/mempolicy.c
+++ mmotm-0701/mm/mempolicy.c
@@ -1412,7 +1412,9 @@ asmlinkage long compat_sys_get_mempolicy
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);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/