* [PATCH] overlayfs: Pass O_LARGEFILE unconditionally in ovl_copy_up_data()
@ 2015-09-28 14:18 David Howells
2015-10-12 15:26 ` Miklos Szeredi
0 siblings, 1 reply; 2+ messages in thread
From: David Howells @ 2015-09-28 14:18 UTC (permalink / raw)
To: miklos; +Cc: dhowells, linux-kernel, linux-unionfs, viro
Pass O_LARGEFILE unconditionally in ovl_copy_up_data() as it's purely for
catching 32-bit userspace dealing with a file large enough that it'll be
mishandled if the application isn't aware that there might be an integer
overflow. Inside the kernel, there shouldn't be any problems.
Reported-by: Ulrich Obergfell <uobergfe@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
---
fs/overlayfs/copy_up.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c
index d3a5990fd2b9..871fcb67be97 100644
--- a/fs/overlayfs/copy_up.c
+++ b/fs/overlayfs/copy_up.c
@@ -76,19 +76,16 @@ static int ovl_copy_up_data(struct path *old, struct path *new, loff_t len)
struct file *new_file;
loff_t old_pos = 0;
loff_t new_pos = 0;
- int error = 0, o_flag = 0;
+ int error = 0;
if (len == 0)
return 0;
- if (i_size_read(d_inode(old->dentry)) > MAX_NON_LFS)
- o_flag |= O_LARGEFILE;
-
- old_file = ovl_path_open(old, o_flag | O_RDONLY);
+ old_file = ovl_path_open(old, O_LARGEFILE | O_RDONLY);
if (IS_ERR(old_file))
return PTR_ERR(old_file);
- new_file = ovl_path_open(new, o_flag | O_WRONLY);
+ new_file = ovl_path_open(new, O_LARGEFILE | O_WRONLY);
if (IS_ERR(new_file)) {
error = PTR_ERR(new_file);
goto out_fput;
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] overlayfs: Pass O_LARGEFILE unconditionally in ovl_copy_up_data()
2015-09-28 14:18 [PATCH] overlayfs: Pass O_LARGEFILE unconditionally in ovl_copy_up_data() David Howells
@ 2015-10-12 15:26 ` Miklos Szeredi
0 siblings, 0 replies; 2+ messages in thread
From: Miklos Szeredi @ 2015-10-12 15:26 UTC (permalink / raw)
To: David Howells; +Cc: Kernel Mailing List, linux-unionfs, Al Viro
On Mon, Sep 28, 2015 at 4:18 PM, David Howells <dhowells@redhat.com> wrote:
> Pass O_LARGEFILE unconditionally in ovl_copy_up_data() as it's purely for
> catching 32-bit userspace dealing with a file large enough that it'll be
> mishandled if the application isn't aware that there might be an integer
> overflow. Inside the kernel, there shouldn't be any problems.
Folded into original patch with changelog added.
Thanks,
Miklos
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-10-12 15:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-28 14:18 [PATCH] overlayfs: Pass O_LARGEFILE unconditionally in ovl_copy_up_data() David Howells
2015-10-12 15:26 ` Miklos Szeredi
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).