This fix compilation error with CONFIG_DEBUG_STRICT_USER_COPY_CHECKS enabled. It looks like gcc 4.6.2 is not able to prove that count is within sizeof(s) bounds (although it is). CC [M] fs/binfmt_misc.o In file included from arch/x86/include/asm/uaccess.h:573:0, from include/linux/uaccess.h:5, from include/linux/highmem.h:7, from include/linux/pagemap.h:10, from fs/binfmt_misc.c:26: In function ‘copy_from_user’, inlined from ‘parse_command.part.1’ at fs/binfmt_misc.c:421:20: arch/x86/include/asm/uaccess_32.h:211:26: error: call to ‘copy_from_user_overflow’ declared with attribute error: copy_from_user() buffer size is not provably correct make[1]: *** [fs/binfmt_misc.o] Error 1 make: *** [fs] Error 2 Signed-off-by: Szymon Janc <szymon@xxxxxxxxxxx> --- fs/binfmt_misc.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c index a9198df..4879d35 100644 --- a/fs/binfmt_misc.c +++ b/fs/binfmt_misc.c @@ -418,7 +418,7 @@ static int parse_command(const char __user *buffer, size_t count) return 0; if (count > 3) return -EINVAL; - if (copy_from_user(s, buffer, count)) + if (copy_from_user(s, buffer, min(count, sizeof(s)))) return -EFAULT; if (s[count-1] == '\n') count--; -- 1.7.8.3 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html