From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Nieder Subject: Re: [PATCH] binfmt_misc: Fix compilation error in parse_command() Date: Sat, 19 May 2012 15:14:18 -0500 Message-ID: <20120519201418.GA5780@burratino> References: <1327172558-19180-1-git-send-email-szymon@janc.net.pl> <20120121191806.GD23916@ZenIV.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Szymon Janc , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org To: Al Viro Return-path: Content-Disposition: inline In-Reply-To: <20120121191806.GD23916@ZenIV.linux.org.uk> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Al Viro wrote: > On Sat, Jan 21, 2012 at 08:02:37PM +0100, Szymon Janc wrote: >> --- a/fs/binfmt_misc.c >> +++ b/fs/binfmt_misc.c >> @@ -418,7 +418,7 @@ static int parse_command(const char __user *buffer, size_t count) >> return 0; >> if (count > 3) >> return -EINVAL; >> - if (copy_from_user(s, buffer, count)) >> + if (copy_from_user(s, buffer, min(count, sizeof(s)))) > > File a report in gcc bugzilla. Note that > * count is size_t and thus unsigned > * sizeof(s) is 4 > IOW, min(count, sizeof(s)) should do no better (or worse) than count here. > If gcc is unable to prove that, it really needs to be fixed... Looks like this is . Thanks, Jonathan