summaryrefslogtreecommitdiff
path: root/target/linux/generic/patches-4.9
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-03-06 10:09:28 +0100
committerFelix Fietkau <nbd@nbd.name>2017-03-06 10:12:42 +0100
commit697ff33771064731fbe7e90549df587c8c19789d (patch)
tree8d031eba4b0d7c636ec894f5b457f273a3a47933 /target/linux/generic/patches-4.9
parentf223c4a9230f520f27bf0e1c458335b79935805a (diff)
downloadmtk-20170518-697ff33771064731fbe7e90549df587c8c19789d.zip
mtk-20170518-697ff33771064731fbe7e90549df587c8c19789d.tar.gz
mtk-20170518-697ff33771064731fbe7e90549df587c8c19789d.tar.bz2
kernel: fix whiteout rename on ubifs (FS#579)
This was apparently caused by some linux upstream merge damage Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'target/linux/generic/patches-4.9')
-rw-r--r--target/linux/generic/patches-4.9/031-ubifs-fix-RENAME_WHITEOUT-support.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.9/031-ubifs-fix-RENAME_WHITEOUT-support.patch b/target/linux/generic/patches-4.9/031-ubifs-fix-RENAME_WHITEOUT-support.patch
new file mode 100644
index 0000000..7b81afb
--- /dev/null
+++ b/target/linux/generic/patches-4.9/031-ubifs-fix-RENAME_WHITEOUT-support.patch
@@ -0,0 +1,25 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Mon, 6 Mar 2017 09:48:52 +0100
+Subject: [PATCH] ubifs: fix RENAME_WHITEOUT support
+
+Remove faulty leftover check in do_rename(), apparently introduced in a
+merge that combined whiteout support changes with commit f03b8ad8d386
+("fs: support RENAME_NOREPLACE for local filesystems")
+
+Fixes: 9e0a1fff8db5 ("ubifs: Implement RENAME_WHITEOUT")
+Cc: stable@vger.kernel.org
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/fs/ubifs/dir.c
++++ b/fs/ubifs/dir.c
+@@ -1088,9 +1088,6 @@ static int do_rename(struct inode *old_d
+ struct timespec time;
+ unsigned int uninitialized_var(saved_nlink);
+
+- if (flags & ~RENAME_NOREPLACE)
+- return -EINVAL;
+-
+ /*
+ * Budget request settings: deletion direntry, new direntry, removing
+ * the old inode, and changing old and new parent directory inodes.