From mboxrd@z Thu Jan 1 00:00:00 1970 From: Davidlohr Bueso Subject: Re: [PATCH] pipe: Fail cleanly when root tries F_SETPIPE_SZ with big size Date: Fri, 18 Nov 2011 22:20:26 +0100 Message-ID: <1321651226.3420.0.camel@offbook> References: <1321646674-26890-1-git-send-email-levinsasha928@gmail.com> <20111118202552.GB2203@ZenIV.linux.org.uk> Reply-To: dave@gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: Al Viro , Sasha Levin , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org To: Pekka Enberg Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org 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 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ >