Re: Bad error return after find_vma() in PR_SET_MM code

From: KOSAKI Motohiro
Date: Tue Apr 24 2012 - 11:12:08 EST


(4/15/12 12:00 AM), Michael Kerrisk (man-pages) wrote:
[Bother! Resending with corrected subject line (was "[PATCH 1/2]
prctl: Add PR_SET_MM option description")]

Cyrill,

While reviewing your patch to the prctl() manual page, I noticed the
following code in kernel/sys.c::prctl_set_mm():

if (opt != PR_SET_MM_START_BRK&& opt != PR_SET_MM_BRK) {
/* It must be existing VMA */
if (!vma || vma->vm_start> addr)
goto out;
}

At this point, the code causes an exit with error set to zero (i.e.,
success). This looks unintended to me. Is the code correct? I suspect
a return of -EFAULT or -ENOMEM is warranted.

EFAULT please when detecting invalid vma.

--
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/