aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch
diff options
context:
space:
mode:
authorJonas Gorski <jogo@openwrt.org>2015-06-17 10:22:04 +0000
committerJonas Gorski <jogo@openwrt.org>2015-06-17 10:22:04 +0000
commitb9c13dc540403877ee43369ce0027f43c7cab928 (patch)
treedec25a80e17d7c6d67b6daf822c22f5d10db3dd5 /target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch
parent966f1ab30128279f7b07acda088f4f3399718867 (diff)
downloadupstream-b9c13dc540403877ee43369ce0027f43c7cab928.tar.gz
upstream-b9c13dc540403877ee43369ce0027f43c7cab928.tar.bz2
upstream-b9c13dc540403877ee43369ce0027f43c7cab928.zip
kernel: update 3.18 to 3.18.16
Changelogs: * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.15 * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.16 Signed-off-by: Jonas Gorski <jogo@openwrt.org> Backport of r46011. git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@46015 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch')
-rw-r--r--target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch60
1 files changed, 30 insertions, 30 deletions
diff --git a/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch b/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch
index 53d9e516fc..340a4126b8 100644
--- a/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch
+++ b/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch
@@ -45,53 +45,53 @@ Miklos
--- a/fs/overlayfs/copy_up.c
+++ b/fs/overlayfs/copy_up.c
@@ -300,6 +300,9 @@ int ovl_copy_up_one(struct dentry *paren
- struct cred *override_cred;
- char *link = NULL;
-
+ struct cred *override_cred;
+ char *link = NULL;
+
+ if (WARN_ON(!workdir))
+ return -EROFS;
+
- ovl_path_upper(parent, &parentpath);
- upperdir = parentpath.dentry;
-
+ ovl_path_upper(parent, &parentpath);
+ upperdir = parentpath.dentry;
+
--- a/fs/overlayfs/dir.c
+++ b/fs/overlayfs/dir.c
@@ -222,6 +222,9 @@ static struct dentry *ovl_clear_empty(st
- struct kstat stat;
- int err;
-
+ struct kstat stat;
+ int err;
+
+ if (WARN_ON(!workdir))
+ return ERR_PTR(-EROFS);
+
- err = ovl_lock_rename_workdir(workdir, upperdir);
- if (err)
- goto out;
+ err = ovl_lock_rename_workdir(workdir, upperdir);
+ if (err)
+ goto out;
@@ -322,6 +325,9 @@ static int ovl_create_over_whiteout(stru
- struct dentry *newdentry;
- int err;
-
+ struct dentry *newdentry;
+ int err;
+
+ if (WARN_ON(!workdir))
+ return -EROFS;
+
- err = ovl_lock_rename_workdir(workdir, upperdir);
- if (err)
- goto out;
+ err = ovl_lock_rename_workdir(workdir, upperdir);
+ if (err)
+ goto out;
@@ -506,6 +512,9 @@ static int ovl_remove_and_whiteout(struc
- struct dentry *opaquedir = NULL;
- int err;
-
+ struct dentry *opaquedir = NULL;
+ int err;
+
+ if (WARN_ON(!workdir))
+ return -EROFS;
+
- if (is_dir) {
- opaquedir = ovl_check_empty_and_clear(dentry);
- err = PTR_ERR(opaquedir);
+ if (is_dir) {
+ opaquedir = ovl_check_empty_and_clear(dentry);
+ err = PTR_ERR(opaquedir);
--- a/fs/overlayfs/super.c
+++ b/fs/overlayfs/super.c
@@ -740,9 +740,15 @@ static int ovl_fill_super(struct super_b
- ufs->workdir = ovl_workdir_create(ufs->upper_mnt, workpath.dentry);
- err = PTR_ERR(ufs->workdir);
- if (IS_ERR(ufs->workdir)) {
+ ufs->workdir = ovl_workdir_create(ufs->upper_mnt, workpath.dentry);
+ err = PTR_ERR(ufs->workdir);
+ if (IS_ERR(ufs->workdir)) {
- pr_err("overlayfs: failed to create directory %s/%s\n",
- ufs->config.workdir, OVL_WORKDIR_NAME);
- goto out_put_lower_mnt;
@@ -104,6 +104,6 @@ Miklos
+ ufs->config.workdir, OVL_WORKDIR_NAME);
+ goto out_put_lower_mnt;
+ }
- }
-
- /*
+ }
+
+ /*