linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Kara <jack@suse.cz>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org
Subject: [GIT PULL] Hole punch vs page cache filling races fixes for 5.15-rc1
Date: Wed, 25 Aug 2021 16:51:18 +0200	[thread overview]
Message-ID: <20210825145118.GI14620@quack2.suse.cz> (raw)

  Hello Linus,

  this is the last early pull request for the coming merge window. Could you
please pull from

git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git hole_punch_for_v5.15-rc1

to get patches that fix races leading to possible data corruption or stale
data exposure in multiple filesystems when hole punching races with
operations such as readahead. This is the series I was sending for the last
merge window but with your objection fixed - now filemap_fault() has been
modified to take invalidate_lock only when we need to create new page in
the page cache and / or bring it uptodate (see updated commit 730633f0b7f
"mm: Protect operations adding pages to page cache with invalidate_lock").

There are some conflicts of this series with changes in f2fs and folio
trees. The resolution is mostly obvious but I've pushed out suggested merge
(taken from Stephen Rothwell) to:

git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git hole_punch_fixes_merge

Top of the tree is 7882c55ef64a. The full shortlog is:

Jan Kara (13):
      mm: Fix comments mentioning i_mutex
      documentation: Sync file_operations members with reality
      mm: Protect operations adding pages to page cache with invalidate_lock
      mm: Add functions to lock invalidate_lock for two mappings
      ext4: Convert to use mapping->invalidate_lock
      ext2: Convert to using invalidate_lock
      xfs: Convert to use invalidate_lock
      xfs: Convert double locking of MMAPLOCK to use VFS helpers
      zonefs: Convert to using invalidate_lock
      f2fs: Convert to using invalidate_lock
      fuse: Convert to using invalidate_lock
      ceph: Fix race between hole punch and page fault
      cifs: Fix race between hole punch and page fault

Pavel Reichl (1):
      xfs: Refactor xfs_isilocked()

Randy Dunlap (1):
      filesystems/locking: fix Malformed table warning

The diffstat is

 Documentation/filesystems/locking.rst |  79 ++++++++++++------
 fs/ceph/addr.c                        |   9 ++-
 fs/ceph/file.c                        |   2 +
 fs/cifs/smb2ops.c                     |   2 +
 fs/ext2/ext2.h                        |  11 ---
 fs/ext2/file.c                        |   7 +-
 fs/ext2/inode.c                       |  12 +--
 fs/ext2/super.c                       |   3 -
 fs/ext4/ext4.h                        |  10 ---
 fs/ext4/extents.c                     |  25 +++---
 fs/ext4/file.c                        |  13 +--
 fs/ext4/inode.c                       |  47 ++++-------
 fs/ext4/ioctl.c                       |   4 +-
 fs/ext4/super.c                       |  13 ++-
 fs/ext4/truncate.h                    |   8 +-
 fs/f2fs/data.c                        |   8 +-
 fs/f2fs/f2fs.h                        |   1 -
 fs/f2fs/file.c                        |  62 +++++++--------
 fs/f2fs/super.c                       |   1 -
 fs/fuse/dax.c                         |  50 ++++++------
 fs/fuse/dir.c                         |  11 +--
 fs/fuse/file.c                        |  10 +--
 fs/fuse/fuse_i.h                      |   7 --
 fs/fuse/inode.c                       |   1 -
 fs/inode.c                            |   2 +
 fs/xfs/xfs_bmap_util.c                |  15 ++--
 fs/xfs/xfs_file.c                     |  13 +--
 fs/xfs/xfs_inode.c                    | 121 ++++++++++++++--------------
 fs/xfs/xfs_inode.h                    |   3 +-
 fs/xfs/xfs_super.c                    |   2 -
 fs/zonefs/super.c                     |  23 ++----
 fs/zonefs/zonefs.h                    |   7 +-
 include/linux/fs.h                    |  39 +++++++++
 mm/filemap.c                          | 145 ++++++++++++++++++++++++++++------
 mm/madvise.c                          |   2 +-
 mm/memory-failure.c                   |   2 +-
 mm/readahead.c                        |   2 +
 mm/rmap.c                             |  41 +++++-----
 mm/shmem.c                            |  20 ++---
 mm/truncate.c                         |   9 ++-
 40 files changed, 482 insertions(+), 360 deletions(-)

							Thanks
								Honza

-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

             reply	other threads:[~2021-08-25 14:51 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-25 14:51 Jan Kara [this message]
2021-08-30 17:40 ` [GIT PULL] Hole punch vs page cache filling races fixes for 5.15-rc1 pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210825145118.GI14620@quack2.suse.cz \
    --to=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).