From: Nick Piggin <npiggin@suse.de>
To: Jon Tollefson <kniht@linux.vnet.ibm.com>
Cc: Nishanth Aravamudan <nacc@us.ibm.com>,
linux-mm@kvack.org, andi@firstfloor.org, agl@us.ibm.com,
abh@cray.com, joachim.deguara@amd.com,
linux-fsdevel@vger.kernel.org
Subject: Re: [patch 22/23] fs: check for statfs overflow
Date: Wed, 28 May 2008 11:02:57 +0200 [thread overview]
Message-ID: <20080528090257.GC2630@wotan.suse.de> (raw)
In-Reply-To: <483C42B9.7090102@linux.vnet.ibm.com>
On Tue, May 27, 2008 at 12:19:53PM -0500, Jon Tollefson wrote:
> Nishanth Aravamudan wrote:
> > On 26.05.2008 [00:23:39 +1000], npiggin@suse.de wrote:
> >
> >> Adds a check for an overflow in the filesystem size so if someone is
> >> checking with statfs() on a 16G hugetlbfs in a 32bit binary that it
> >> will report back EOVERFLOW instead of a size of 0.
> >>
> >> Are other places that need a similar check? I had tried a similar
> >> check in put_compat_statfs64 too but it didn't seem to generate an
> >> EOVERFLOW in my test case.
> >>
> >
> > I think this part of the changelog was meant to be a post-"---"
> > question, which I don't have an answer for, but probably shouldn't go in
> > the final changelog?
> >
> You are correct.
I think the question is OK for the changelog. Unless we can get
somebody answering it yes or no, I'll leave it (but I'd rather get
an answer first).
I'm pretty unfamiliar with how the APIs work, but I'd think statfs64
is less likely to overflow because f_blocks is likely to be 8 bytes.
But I still think the check might be good to have.
The non-compat stat() (and stat64 even) might also need the eoverflow
check. cc'ing fsdevel with the patch attached again.
---
fs: check for statfs overflow
Adds a check for an overflow in the filesystem size so if someone is
checking with statfs() on a 16G hugetlbfs in a 32bit binary that it
will report back EOVERFLOW instead of a size of 0.
Are other places that need a similar check? I had tried a similar
check in put_compat_statfs64 too but it didn't seem to generate an
EOVERFLOW in my test case.
Signed-off-by: Jon Tollefson <kniht@linux.vnet.ibm.com>
Signed-off-by: Nick Piggin <npiggin@suse.de>
---
fs/compat.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: linux-2.6/fs/compat.c
===================================================================
--- linux-2.6.orig/fs/compat.c
+++ linux-2.6/fs/compat.c
@@ -197,8 +197,8 @@ static int put_compat_statfs(struct comp
{
if (sizeof ubuf->f_blocks == 4) {
- if ((kbuf->f_blocks | kbuf->f_bfree | kbuf->f_bavail) &
- 0xffffffff00000000ULL)
+ if ((kbuf->f_blocks | kbuf->f_bfree | kbuf->f_bavail |
+ kbuf->f_bsize | kbuf->f_frsize) & 0xffffffff00000000ULL)
return -EOVERFLOW;
/* f_files and f_ffree may be -1; it's okay
* to stuff that into 32 bits */
next parent reply other threads:[~2008-05-28 9:02 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20080525142317.965503000@nick.local0.net>
[not found] ` <20080525143454.453947000@nick.local0.net>
[not found] ` <20080527171452.GJ20709@us.ibm.com>
[not found] ` <483C42B9.7090102@linux.vnet.ibm.com>
2008-05-28 9:02 ` Nick Piggin [this message]
2008-05-29 23:56 ` [patch 22/23] fs: check for statfs overflow Andreas Dilger
2008-05-30 0:12 ` Nishanth Aravamudan
2008-05-30 1:14 ` Nick Piggin
2008-06-02 3:16 ` Andreas Dilger
2008-06-03 3:27 ` Nick Piggin
2008-06-03 17:17 ` Andreas Dilger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080528090257.GC2630@wotan.suse.de \
--to=npiggin@suse.de \
--cc=abh@cray.com \
--cc=agl@us.ibm.com \
--cc=andi@firstfloor.org \
--cc=joachim.deguara@amd.com \
--cc=kniht@linux.vnet.ibm.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=nacc@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).