Re: [PATCH] pipe: Fail cleanly when root tries F_SETPIPE_SZ withbig size

From: Davidlohr Bueso
Date: Fri Nov 18 2011 - 16:20:35 EST


On Fri, 2011-11-18 at 23:04 +0200, Pekka Enberg wrote:
> On Fri, Nov 18, 2011 at 10:04:34PM +0200, Sasha Levin wrote:
> >> + if (nr_pages * sizeof(struct pipe_buffer) > KMALLOC_MAX_SIZE)
> >> + return -ENOMEM;
>
> On Fri, Nov 18, 2011 at 10:25 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> > nr_pages is unsigned long, sizeof is greater than 1, KMALLOC_MAX_SIZE is
> > unsigned long... So write that check as KMALLOC_MAX_SIZE / sizeof > nr_pages
>
> We could just use __GFP_NOWARN here and let kcalloc() deal with the
> overflow case.

Yep, that would seem the right place to deal with it, IMHO.

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


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