The patch titled kexec: return -EFAULT on copy_to_user() failures has been added to the -mm tree. Its filename is kexec-return-efault-on-copy_to_user-failures.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: kexec: return -EFAULT on copy_to_user() failures From: Dan Carpenter <error27@xxxxxxxxx> copy_to/from_user() returns the number of bytes remaining to be copied. It never returns a negative value. The correct return code is -EFAULT and not -EIO. All the callers check for non-zero returns so that's Ok, but the return code is passed to the user so we should fix this. Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Simon Kagstrom <simon.kagstrom@xxxxxxxxxxxxxx> Acked-by: WANG Cong <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/kexec.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff -puN kernel/kexec.c~kexec-return-efault-on-copy_to_user-failures kernel/kexec.c --- a/kernel/kexec.c~kexec-return-efault-on-copy_to_user-failures +++ a/kernel/kexec.c @@ -151,8 +151,10 @@ static int do_kimage_alloc(struct kimage image->nr_segments = nr_segments; segment_bytes = nr_segments * sizeof(*segments); result = copy_from_user(image->segment, segments, segment_bytes); - if (result) + if (result) { + result = -EFAULT; goto out; + } /* * Verify we have good destination addresses. The caller is @@ -827,7 +829,7 @@ static int kimage_load_normal_segment(st result = copy_from_user(ptr, buf, uchunk); kunmap(page); if (result) { - result = (result < 0) ? result : -EIO; + result = -EFAULT; goto out; } ubytes -= uchunk; @@ -882,7 +884,7 @@ static int kimage_load_crash_segment(str kexec_flush_icache_page(page); kunmap(page); if (result) { - result = (result < 0) ? result : -EIO; + result = -EFAULT; goto out; } ubytes -= uchunk; _ Patches currently in -mm which might be from error27@xxxxxxxxx are linux-next.patch mtd-sst25l-check-for-null-consistently.patch scsi-remove-superfluous-null-pointer-check-from-scsi_kill_request.patch autofs4-remove-unneeded-null-check-in-try_to_fill_dentry.patch cgroups-save-space-for-the-terminator.patch kexec-return-efault-on-copy_to_user-failures.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html