aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@redhat.com>2017-07-04 16:03:18 -0400
committerMiklos Szeredi <mszeredi@redhat.com>2017-07-04 16:03:18 -0400
commit7ab8b1763fd84ff4e7263ed7f5c728e4cb3f364a (patch)
tree1783c0190d10d2716bbfbd2725e2b89d4b219fa9
parent02209d10709c18d552c2494df74117db09a18e05 (diff)
ovl: base tmpfile in workdir too
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
-rw-r--r--fs/overlayfs/copy_up.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c
index 81b9a44916a0..1264f2434047 100644
--- a/fs/overlayfs/copy_up.c
+++ b/fs/overlayfs/copy_up.c
@@ -345,8 +345,7 @@ static int ovl_install_temp(struct dentry *workdir, struct dentry *upperdir,
345 return err; 345 return err;
346} 346}
347 347
348static int ovl_get_tmpfile(struct dentry *workdir, struct dentry *upperdir, 348static int ovl_get_tmpfile(struct dentry *workdir, struct dentry *dentry,
349 struct dentry *dentry,
350 struct kstat *stat, const char *link, bool tmpfile, 349 struct kstat *stat, const char *link, bool tmpfile,
351 struct dentry **tempp) 350 struct dentry **tempp)
352{ 351{
@@ -369,7 +368,7 @@ static int ovl_get_tmpfile(struct dentry *workdir, struct dentry *upperdir,
369 old_creds = override_creds(new_creds); 368 old_creds = override_creds(new_creds);
370 369
371 if (tmpfile) { 370 if (tmpfile) {
372 temp = ovl_do_tmpfile(upperdir, stat->mode); 371 temp = ovl_do_tmpfile(workdir, stat->mode);
373 if (IS_ERR(temp)) 372 if (IS_ERR(temp))
374 goto temp_err; 373 goto temp_err;
375 } else { 374 } else {
@@ -453,8 +452,7 @@ static int ovl_copy_up_locked(struct dentry *workdir, struct dentry *upperdir,
453 struct dentry *temp = NULL; 452 struct dentry *temp = NULL;
454 int err; 453 int err;
455 454
456 err = ovl_get_tmpfile(workdir, upperdir, dentry, stat, link, tmpfile, 455 err = ovl_get_tmpfile(workdir, dentry, stat, link, tmpfile, &temp);
457 &temp);
458 if (err) 456 if (err)
459 goto out; 457 goto out;
460 458