diff options
Diffstat (limited to 'target/linux/generic/pending-4.14/192-Revert-ubifs-xattr-Don-t-operate-on-deleted-inodes.patch')
-rw-r--r-- | target/linux/generic/pending-4.14/192-Revert-ubifs-xattr-Don-t-operate-on-deleted-inodes.patch | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/target/linux/generic/pending-4.14/192-Revert-ubifs-xattr-Don-t-operate-on-deleted-inodes.patch b/target/linux/generic/pending-4.14/192-Revert-ubifs-xattr-Don-t-operate-on-deleted-inodes.patch deleted file mode 100644 index cd9a758e37..0000000000 --- a/target/linux/generic/pending-4.14/192-Revert-ubifs-xattr-Don-t-operate-on-deleted-inodes.patch +++ /dev/null @@ -1,96 +0,0 @@ -From a99708737f566c70651015332e89d0d3b1eb5529 Mon Sep 17 00:00:00 2001 -From: Koen Vandeputte <koen.vandeputte@ncentric.com> -Date: Mon, 17 Sep 2018 10:13:09 +0200 -Subject: [PATCH] Revert "ubifs: xattr: Don't operate on deleted inodes" - -This reverts commit 8a23348d76a1e7716da6e76383281ac82fc071cf. - -UBIFS wants to assert that xattr operations are only issued on files -with positive link count. The said patch made this operations return --ENOENT for unlinked files such that the asserts will no longer trigger. -This was wrong since xattr operations are perfectly fine on unlinked -files. -Instead the assertions need to be fixed/removed. - -Fixes: 11a6fc3dc743 ("ubifs: xattr: Don't operate on deleted inodes") -Reported-by: Koen Vandeputte <koen.vandeputte@ncentric.com> -Signed-off-by: Richard Weinberger <richard@nod.at> ---- - fs/ubifs/xattr.c | 24 ------------------------ - 1 file changed, 24 deletions(-) - ---- a/fs/ubifs/xattr.c -+++ b/fs/ubifs/xattr.c -@@ -152,12 +152,6 @@ static int create_xattr(struct ubifs_inf - ui->data_len = size; - - mutex_lock(&host_ui->ui_mutex); -- -- if (!host->i_nlink) { -- err = -ENOENT; -- goto out_noent; -- } -- - host->i_ctime = current_time(host); - host_ui->xattr_cnt += 1; - host_ui->xattr_size += CALC_DENT_SIZE(fname_len(nm)); -@@ -189,7 +183,6 @@ out_cancel: - host_ui->xattr_size -= CALC_XATTR_BYTES(size); - host_ui->xattr_names -= fname_len(nm); - host_ui->flags &= ~UBIFS_CRYPT_FL; --out_noent: - mutex_unlock(&host_ui->ui_mutex); - out_free: - make_bad_inode(inode); -@@ -241,12 +234,6 @@ static int change_xattr(struct ubifs_inf - mutex_unlock(&ui->ui_mutex); - - mutex_lock(&host_ui->ui_mutex); -- -- if (!host->i_nlink) { -- err = -ENOENT; -- goto out_noent; -- } -- - host->i_ctime = current_time(host); - host_ui->xattr_size -= CALC_XATTR_BYTES(old_size); - host_ui->xattr_size += CALC_XATTR_BYTES(size); -@@ -268,7 +255,6 @@ static int change_xattr(struct ubifs_inf - out_cancel: - host_ui->xattr_size -= CALC_XATTR_BYTES(size); - host_ui->xattr_size += CALC_XATTR_BYTES(old_size); --out_noent: - mutex_unlock(&host_ui->ui_mutex); - make_bad_inode(inode); - out_free: -@@ -497,12 +483,6 @@ static int remove_xattr(struct ubifs_inf - return err; - - mutex_lock(&host_ui->ui_mutex); -- -- if (!host->i_nlink) { -- err = -ENOENT; -- goto out_noent; -- } -- - host->i_ctime = current_time(host); - host_ui->xattr_cnt -= 1; - host_ui->xattr_size -= CALC_DENT_SIZE(fname_len(nm)); -@@ -522,7 +502,6 @@ out_cancel: - host_ui->xattr_size += CALC_DENT_SIZE(fname_len(nm)); - host_ui->xattr_size += CALC_XATTR_BYTES(ui->data_len); - host_ui->xattr_names += fname_len(nm); --out_noent: - mutex_unlock(&host_ui->ui_mutex); - ubifs_release_budget(c, &req); - make_bad_inode(inode); -@@ -562,9 +541,6 @@ static int ubifs_xattr_remove(struct ino - - ubifs_assert(inode_is_locked(host)); - -- if (!host->i_nlink) -- return -ENOENT; -- - if (fname_len(&nm) > UBIFS_MAX_NLEN) - return -ENAMETOOLONG; - |