diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2008-10-18 23:28:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-20 11:52:38 -0400 |
commit | 6e7152944426be786c6c232990914e4565290d35 (patch) | |
tree | a4b3eb3946db47c98621b9b53f2f26bb2721b76c | |
parent | cdbf6dba28e8e6268c8420857696309470009fd9 (diff) |
hfsplus: missing O_LARGEFILE check
hfsplus: O_LARGEFILE checking is missing
Addresses http://bugzilla.kernel.org/show_bug.cgi?id=8490
From: Alan Cox <alan@redhat.com>
Reported-by: didier <did447@gmail.com>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | fs/hfsplus/inode.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c index b085d64a2b67..963be644297a 100644 --- a/fs/hfsplus/inode.c +++ b/fs/hfsplus/inode.c | |||
@@ -254,6 +254,8 @@ static int hfsplus_file_open(struct inode *inode, struct file *file) | |||
254 | { | 254 | { |
255 | if (HFSPLUS_IS_RSRC(inode)) | 255 | if (HFSPLUS_IS_RSRC(inode)) |
256 | inode = HFSPLUS_I(inode).rsrc_inode; | 256 | inode = HFSPLUS_I(inode).rsrc_inode; |
257 | if (!(file->f_flags & O_LARGEFILE) && i_size_read(inode) > MAX_NON_LFS) | ||
258 | return -EOVERFLOW; | ||
257 | atomic_inc(&HFSPLUS_I(inode).opencnt); | 259 | atomic_inc(&HFSPLUS_I(inode).opencnt); |
258 | return 0; | 260 | return 0; |
259 | } | 261 | } |