Revert "vfs: fix freeze protection in mnt_want_write_file() for overlayfs"
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Oct 2018 12:22:54 +0000 (14:22 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 Oct 2018 07:48:52 +0000 (09:48 +0200)
This reverts commit 4f4374a9bd25b333971e6f2656b642d29e2efe7b which was
commit a6795a585929d94ca3e931bc8518f8deb8bbe627 upstream.

Turns out this causes problems and was to fix a patch only in the 4.19
and newer tree.

Reported-by: Amir Goldstein <amir73il@gmail.com>
Cc: Miklos Szeredi <mszeredi@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/namespace.c

index 3ee3ee5..9dc146e 100644 (file)
@@ -446,10 +446,10 @@ int mnt_want_write_file_path(struct file *file)
 {
        int ret;
 
-       sb_start_write(file_inode(file)->i_sb);
+       sb_start_write(file->f_path.mnt->mnt_sb);
        ret = __mnt_want_write_file(file);
        if (ret)
-               sb_end_write(file_inode(file)->i_sb);
+               sb_end_write(file->f_path.mnt->mnt_sb);
        return ret;
 }
 
@@ -540,8 +540,7 @@ void __mnt_drop_write_file(struct file *file)
 
 void mnt_drop_write_file_path(struct file *file)
 {
-       __mnt_drop_write_file(file);
-       sb_end_write(file_inode(file)->i_sb);
+       mnt_drop_write(file->f_path.mnt);
 }
 
 void mnt_drop_write_file(struct file *file)