Re: [PATCH] Added PR_SET_PROCTITLE_AREA option for prctl()

From: Bryan Donlan
Date: Sun Oct 04 2009 - 23:24:36 EST


On Sun, Oct 4, 2009 at 10:48 PM, KOSAKI Motohiro
<kosaki.motohiro@xxxxxxxxxxxxxx> wrote:

> +                       } else {
> +                               len = mm->env_end - mm->env_start;
> +                               if (len > PAGE_SIZE - res)
> +                                       len = PAGE_SIZE - res;
> +                               res += access_process_vm(task, mm->env_start,
> +                                                        buffer+res, len, 0);
> +                               res = strnlen(buffer, res);
> +                       }


This bug was in the original code, but since you're touching it
anyway, it should be fixed now; if this access_process_vm fails
(perhaps due to the target unmapping the page in question in between
the two calls), bad things might happen if (error code) + res < 0, as
then strnlen will get a huge value in its length (possibly leading to
OOPS etc). It should be changed to check for an error return here and
fail out properly if there is an error in this second check.
--
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/