All of lore.kernel.org
 help / color / mirror / Atom feed
* [git pull] vfs fixes
@ 2017-04-02 17:01 Al Viro
  2017-04-02 23:59 ` Linus Torvalds
  0 siblings, 1 reply; 117+ messages in thread
From: Al Viro @ 2017-04-02 17:01 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel

	statx followup fixes, fix for a nasty corner case in path_init()
leaving path.dentry in RCU mode pointing to a dentry without DCACHE_RCUACCESS
and a fix for stack-smashing on alpha.

The following changes since commit c02ed2e75ef4c74e41e421acb4ef1494671585e8:

  Linux 4.11-rc4 (2017-03-26 14:15:16 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

for you to fetch changes up to 0b1367305acc8e8706e13aa4c6766a747cf489d4:

  statx: Include a mask for stx_attributes in struct statx (2017-04-02 12:27:59 -0400)

----------------------------------------------------------------
Al Viro (2):
      path_init(): make sure that nd->path.dentry freeing will be RCU-delayed
      alpha: fix stack smashing in old_adjtimex(2)

Darrick J. Wong (1):
      xfs: report crtime and attribute flags to statx

David Howells (3):
      ext4: Add statx support
      statx: Reserve the top bit of the mask for future struct expansion
      statx: Include a mask for stx_attributes in struct statx

Eric Biggers (4):
      Documentation/filesystems: fix documentation for ->getattr()
      statx: reject unknown flags when using NULL path
      statx: remove incorrect part of vfs_statx() comment
      statx: optimize copy of struct statx to userspace

 Documentation/filesystems/Locking |  3 +-
 Documentation/filesystems/porting |  6 +++
 Documentation/filesystems/vfs.txt |  3 +-
 arch/alpha/kernel/osf_sys.c       |  2 +-
 fs/ext4/ext4.h                    |  1 +
 fs/ext4/file.c                    |  2 +-
 fs/ext4/inode.c                   | 41 +++++++++++++++++--
 fs/ext4/namei.c                   |  2 +
 fs/ext4/symlink.c                 |  3 ++
 fs/namei.c                        | 11 +++--
 fs/stat.c                         | 86 ++++++++++++++++++---------------------
 fs/xfs/xfs_iops.c                 | 14 +++++++
 include/linux/stat.h              |  1 +
 include/uapi/linux/stat.h         |  5 ++-
 samples/statx/test-statx.c        | 12 ++++--
 15 files changed, 128 insertions(+), 64 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2024-04-26 14:59 Christian Brauner
  2024-04-26 18:09 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2024-04-26 14:59 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains a few small fixes for this merge window and the attempt to handle
the ntfs removal regression that was reported a little while ago:

* After the removal of the legacy ntfs driver we received reports about
  regressions for some people that do mount "ntfs" explicitly and expect the
  driver to be available. Since ntfs3 is a drop-in for legacy ntfs we alias
  legacy ntfs to ntfs3 just like ext3 is aliased to ext4.

  We also enforce legacy ntfs is always mounted read-only and give it custom
  file operations to ensure that ioctl()'s can't be abused to perform write
  operations.

* Fix an unbalanced module_get() in bdev_open().

* Two smaller fixes for the netfs work done earlier in this cycle.

* Fix the errno returned from the new FS_IOC_GETUUID and FS_IOC_GETFSSYSFSPATH
  ioctls. Both commands just pull information out of the superblock so there's
  no need to call into the actual ioctl handlers.

  So instead of returning ENOIOCTLCMD to indicate to fallback we just return
  ENOTTY directly avoiding that indirection.

/* Testing */
clang: Debian clang version 16.0.6 (19)
gcc: (Debian 13.2.0-7) 13.2.0

All patches are based on v6.9-rc3. No build failures or warnings were observed.

/* Conflicts */
No known conflicts.

The following changes since commit fec50db7033ea478773b159e0e2efb135270e3b7:

  Linux 6.9-rc3 (2024-04-07 13:22:46 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.9-rc6.fixes

for you to fetch changes up to c97f59e276d4e93480f29a70accbd0d7273cf3f5:

  netfs: Fix the pre-flush when appending to a file in writethrough mode (2024-04-26 14:56:18 +0200)

Please consider pulling these changes from the signed vfs-6.9-rc6.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.9-rc6.fixes

----------------------------------------------------------------
Christian Brauner (3):
      ntfs3: serve as alias for the legacy ntfs driver
      ntfs3: enforce read-only when used as legacy ntfs driver
      ntfs3: add legacy ntfs file operations

David Howells (2):
      netfs: Fix writethrough-mode error handling
      netfs: Fix the pre-flush when appending to a file in writethrough mode

Günther Noack (1):
      fs: Return ENOTTY directly if FS_IOC_GETUUID or FS_IOC_GETFSSYSFSPATH fail

Yu Kuai (1):
      block: fix module reference leakage from bdev_open_by_dev error path

 block/bdev.c              |  2 +-
 fs/ioctl.c                |  4 +--
 fs/netfs/buffered_write.c | 23 +++++++++--------
 fs/ntfs3/Kconfig          |  9 +++++++
 fs/ntfs3/dir.c            |  7 +++++
 fs/ntfs3/file.c           |  8 ++++++
 fs/ntfs3/inode.c          | 20 ++++++++++++---
 fs/ntfs3/ntfs_fs.h        |  4 +++
 fs/ntfs3/super.c          | 65 ++++++++++++++++++++++++++++++++++++++++++++---
 9 files changed, 121 insertions(+), 21 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2024-04-05 11:22 Christian Brauner
  2024-04-05 17:09 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2024-04-05 11:22 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains a few small fixes. This comes with some delay because I
wanted to wait on people running their reproducers and the Easter
Holidays meant that those replies came in a little later than usual:

* Fix handling of preventing writes to mounted block devices.

  Since last kernel we allow to prevent writing to mounted block devices
  provided CONFIG_BLK_DEV_WRITE_MOUNTED isn't set and the block device
  is opened with restricted writes. When we switched to opening block
  devices as files we altered the mechanism by which we recognize when a
  block device has been opened with write restrictions. The detection
  logic assumed that only read-write mounted filesystems would apply
  write restrictions to their block devices from other openers. That of
  course is not true since it also makes sense to apply write
  restrictions for filesystems that are read-only.

  Fix the detection logic using an FMODE_* bit. We still have a few left
  since we freed up a couple a while ago. I also picked up a patch to
  free up four additional FMODE_* bits scheduled for the next merge window.

* Fix counting the number of writers to a block device. This just
  changes the logic to be consistent.

* Fix a bug in aio causing a NULL pointer derefernce after we
  implemented batched processing in aio.

* Finally, add the changes we discussed that allows to yield block
  devices early even though file closing itself is deferred. This also
  allows us to remove two holder operations to get and release the
  holder to align lifetime of file and holder of the block device.

/* Testing */
clang: Debian clang version 16.0.6 (19)
gcc: (Debian 13.2.0-7) 13.2.0

All patches are based on v6.9-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
No known conflicts.

The following changes since commit 4cece764965020c22cff7665b18a012006359095:

  Linux 6.9-rc1 (2024-03-24 14:10:05 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.9-rc3.fixes

for you to fetch changes up to caeb4b0a11b3393e43f7fa8e0a5a18462acc66bd:

  aio: Fix null ptr deref in aio_complete() wakeup (2024-04-05 11:20:28 +0200)

Please consider pulling these changes from the signed vfs-6.9-rc3.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.9-rc3.fixes

----------------------------------------------------------------
Christian Brauner (3):
      block: handle BLK_OPEN_RESTRICT_WRITES correctly
      block: count BLK_OPEN_RESTRICT_WRITES openers
      fs,block: yield devices early

Kent Overstreet (1):
      aio: Fix null ptr deref in aio_complete() wakeup

 block/bdev.c                    | 84 ++++++++++++++++++++++++++++++++---------
 drivers/mtd/devices/block2mtd.c |  2 +-
 fs/aio.c                        |  2 +-
 fs/bcachefs/super-io.c          |  2 +-
 fs/cramfs/inode.c               |  2 +-
 fs/ext4/super.c                 |  8 ++--
 fs/f2fs/super.c                 |  2 +-
 fs/jfs/jfs_logmgr.c             |  4 +-
 fs/reiserfs/journal.c           |  2 +-
 fs/romfs/super.c                |  2 +-
 fs/super.c                      | 24 ++----------
 fs/xfs/xfs_buf.c                |  2 +-
 fs/xfs/xfs_super.c              |  6 +--
 include/linux/blkdev.h          | 11 +-----
 include/linux/fs.h              |  2 +
 15 files changed, 89 insertions(+), 66 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2024-03-18 12:19 Christian Brauner
  2024-03-18 16:48 ` pr-tracker-bot
  2024-03-18 19:14 ` Linus Torvalds
  0 siblings, 2 replies; 117+ messages in thread
From: Christian Brauner @ 2024-03-18 12:19 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains a few small fixes for this merge window:

* Undo the hiding of silly-rename files in afs. If they're hidden they
  can't be deleted by rm manually anymore causing regressions.
* Avoid caching the preferred address for an afs server to avoid
  accidently overriding an explicitly specified preferred server address.
* Fix bad stat() and rmdir() interaction in afs.
* Take a passive reference on the superblock when opening a block device
  so the holder is available to concurrent callers from the block layer.
* Clear private data pointer in fscache_begin_operation() to avoid it
  being falsely treated as valid.

/* Testing */
clang: Debian clang version 16.0.6 (19)
gcc: (Debian 13.2.0-7) 13.2.0

All patches are based on mainline and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
No known conflicts.

The following changes since commit 480e035fc4c714fb5536e64ab9db04fedc89e910:

  Merge tag 'drm-next-2024-03-13' of https://gitlab.freedesktop.org/drm/kernel (2024-03-13 18:34:05 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.9-rc1.fixes

for you to fetch changes up to 449ac5514631dd9b9b66dd708dd5beb1428e2812:

  fscache: Fix error handling in fscache_begin_operation() (2024-03-18 10:33:48 +0100)

Please consider pulling these changes from the signed vfs-6.9-rc1.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.9-rc1.fixes

----------------------------------------------------------------
Christian Brauner (1):
      fs,block: get holder during claim

David Howells (4):
      afs: Revert "afs: Hide silly-rename files from userspace"
      afs: Don't cache preferred address
      afs: Fix occasional rmdir-then-VNOVNODE with generic/011
      fscache: Fix error handling in fscache_begin_operation()

 block/bdev.c           |  7 +++++++
 fs/afs/dir.c           | 10 ----------
 fs/afs/rotate.c        | 21 ++++-----------------
 fs/afs/validation.c    | 16 +++++++++-------
 fs/netfs/fscache_io.c  |  4 +++-
 fs/super.c             | 18 ++++++++++++++++++
 include/linux/blkdev.h | 10 ++++++++++
 7 files changed, 51 insertions(+), 35 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2024-03-06 15:45 Christian Brauner
  2024-03-06 16:33 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2024-03-06 15:45 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains three fixes:

* Get rid of copy_mc flag in iov_iter which really only makes sense for
  the core dumping code so move it out of the generic iov iter code and
  make it coredump's problem. See the detailed commit description.
* Revert fs/aio: Make io_cancel() generate completions again
  The initial fix here was predicated on the assumption that calling
  ki_cancel() didn't complete aio requests. However, that turned out to
  be wrong since the two drivers that actually make use of this set
  a cancellation function that performs the cancellation correctly.
  So revert this change.
* Ensure that the test for IOCB_AIO_RW always happens before the read
  from ki_ctx.

/* Testing */
clang: Debian clang version 16.0.6 (19)
gcc: (Debian 13.2.0-7) 13.2.0

All patches are based on v6.8-rc7 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit 90d35da658da8cff0d4ecbb5113f5fac9d00eb72:

  Linux 6.8-rc7 (2024-03-03 13:02:52 -0800)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.8-release.fixes

for you to fetch changes up to a50026bdb867c8caf9d29e18f9fe9e1390312619:

  iov_iter: get rid of 'copy_mc' flag (2024-03-06 10:52:12 +0100)

Please consider pulling these changes from the signed vfs-6.8-release.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.8-release.fixes

----------------------------------------------------------------
Bart Van Assche (2):
      Revert "fs/aio: Make io_cancel() generate completions again"
      fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion

Linus Torvalds (1):
      iov_iter: get rid of 'copy_mc' flag

 fs/aio.c            | 35 ++++++++++++++++++++++-------------
 fs/coredump.c       | 45 ++++++++++++++++++++++++++++++++++++++++++---
 include/linux/uio.h | 16 ----------------
 lib/iov_iter.c      | 23 -----------------------
 4 files changed, 64 insertions(+), 55 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2024-03-01 12:45 Christian Brauner
  2024-03-01 20:37 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2024-03-01 12:45 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains two small fixes:

* Fix an endless loop during afs directory iteration caused by not skipping
  silly-rename files correctly.

* Fix reporting of completion events for aio causing leaks in userspace.
  This is based on the fix last week as it's now possible to recognize
  aio events submitted through the old aio interface.

/* Testing */
clang: Debian clang version 16.0.6 (19)
gcc: (Debian 13.2.0-7) 13.2.0

All patches are based on v6.8-rc6 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit d206a76d7d2726f3b096037f2079ce0bd3ba329b:

  Linux 6.8-rc6 (2024-02-25 15:46:06 -0800)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.8-rc7.fixes

for you to fetch changes up to 54cbc058d86beca3515c994039b5c0f0a34f53dd:

  fs/aio: Make io_cancel() generate completions again (2024-02-27 11:20:44 +0100)

----------------------------------------------------------------
vfs-6.8-rc7.fixes

----------------------------------------------------------------
Bart Van Assche (1):
      fs/aio: Make io_cancel() generate completions again

David Howells (1):
      afs: Fix endless loop in directory parsing

 fs/afs/dir.c |  4 +++-
 fs/aio.c     | 27 +++++++++++----------------
 2 files changed, 14 insertions(+), 17 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2024-02-22 14:03 Christian Brauner
  2024-02-22 18:18 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2024-02-22 14:03 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains a few fixes:

* Fix a memory leak in cachefiles.
* Restrict aio cancellations to I/O submitted through the aio interfaces as
  this is otherwise causing issues for I/O submitted via io_uring.
* Increase buffer for afs volume status to avoid overflow.
* Fix a missing zero-length check in unbuffered writes in the netfs library.
  If generic_write_checks() returns zero make netfs_unbuffered_write_iter()
  return right away.
* Prevent a leak in i_dio_count caused by netfs_begin_read() operaing pas
  i_size. It will return early and leave i_dio_count incremented.
* Account for ipv4 addresses as well ass ipv6 addresses when processing
  incoming callbacks in afs.

/* Testing */
clang: Debian clang version 16.0.6 (19)
gcc: (Debian 13.2.0-7) 13.2.0

All patches are based on v6.8-rc2 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit 41bccc98fb7931d63d03f326a746ac4d429c1dd3:

  Linux 6.8-rc2 (2024-01-28 17:01:12 -0800)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.8-rc6.fixes

for you to fetch changes up to b820de741ae48ccf50dd95e297889c286ff4f760:

  fs/aio: Restrict kiocb_set_cancel_fn() to I/O submitted via libaio (2024-02-21 16:31:49 +0100)

Please consider pulling these changes from the signed vfs-6.8-rc6.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.8-rc6.fixes

----------------------------------------------------------------
Baokun Li (1):
      cachefiles: fix memory leak in cachefiles_add_cache()

Bart Van Assche (1):
      fs/aio: Restrict kiocb_set_cancel_fn() to I/O submitted via libaio

Daniil Dulov (1):
      afs: Increase buffer size in afs_update_volume_status()

David Howells (1):
      netfs: Fix missing zero-length check in unbuffered write

Marc Dionne (2):
      netfs: Fix i_dio_count leak on DIO read past i_size
      afs: Fix ignored callbacks over ipv4

 fs/afs/internal.h         |  6 ++----
 fs/afs/main.c             |  3 +--
 fs/afs/server.c           | 14 +++++---------
 fs/afs/volume.c           |  4 ++--
 fs/aio.c                  |  9 ++++++++-
 fs/cachefiles/cache.c     |  2 ++
 fs/cachefiles/daemon.c    |  1 +
 fs/netfs/buffered_write.c |  3 +++
 fs/netfs/direct_write.c   |  5 ++++-
 fs/netfs/io.c             |  2 ++
 include/linux/fs.h        |  2 ++
 11 files changed, 32 insertions(+), 19 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2024-02-12 13:00 Christian Brauner
  2024-02-12 17:03 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2024-02-12 13:00 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains two small fixes:

* Fix performance regression introduced by moving the security permission hook
  out of do_clone_file_range() and into its caller vfs_clone_file_range(). This
  causes the security hook to be called in situation were it wasn't called
  before as the fast permission checks were left in do_clone_file_range(). Fix
  this by merging the two implementations back together and restoring the old
  ordering: fast permission checks first, expensive ones later.

* Tweak mount_setattr() permission checking so that mount properties on the
  real rootfs can be changed.

  When we added mount_setattr() we added additional checks compared to legacy
  mount(2). If the mouna had a parent then verify that the caller and the mount
  namespace the mount is attached to match and if not make sure that it's an
  anonymous mount.

  But the real rootfs falls into neither category. It is neither an anoymous
  mount because it is obviously attached to the initial mount namespace but it
  also obviously doesn't have a parent mount. So that means legacy mount(2)
  allows changing mount properties on the real rootfs but mount_setattr(2)
  blocks this. This causes regressions (See the commit for details).

  Fix this by relaxing the check. If the mount has a parent or if it isn't a
  detached mount, verify that the mount namespaces of the caller and the mount
  are the same. Technically, we could probably write this even simpler and
  check that the mount namespaces match if it isn't a detached mount. But the
  slightly longer check makes it clearer what conditions one needs to think
  about.

/* Testing */
clang: Debian clang version 16.0.6 (19)
gcc: (Debian 13.2.0-7) 13.2.0

All patches are based on v6.8-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit 6613476e225e090cc9aad49be7fa504e290dd33d:

  Linux 6.8-rc1 (2024-01-21 14:11:32 -0800)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.8-rc5.fixes

for you to fetch changes up to 46f5ab762d048dad224436978315cbc2fa79c630:

  fs: relax mount_setattr() permission checks (2024-02-07 21:16:29 +0100)

Please consider pulling these changes from the signed vfs-6.8-rc5.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.8-rc5.fixes

----------------------------------------------------------------
Amir Goldstein (1):
      remap_range: merge do_clone_file_range() into vfs_clone_file_range()

Christian Brauner (1):
      fs: relax mount_setattr() permission checks

 fs/namespace.c         | 11 ++++++++---
 fs/overlayfs/copy_up.c | 14 ++++++--------
 fs/remap_range.c       | 31 +++++++++----------------------
 include/linux/fs.h     |  3 ---
 4 files changed, 23 insertions(+), 36 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2024-01-13 12:31 Christian Brauner
  2024-01-17 20:03 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2024-01-13 12:31 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains two fixes for the current merge window. The listmount changes
that you requested and a fix for a fsnotify performance regression:

* The proposed listmount changes are currently under my authorship. I wasn't
  sure whether you'd wanted to be author as the patch wasn't signed off. If you
  do I'm happy if you just apply your own patch.

  I've tested the patch with my sh4 cross-build setup. And confirmed that a)
  the build failure with sh on current upstream is reproducible and that b) the
  proposed patch fixes the build failure. That should only leave the task of
  fixing put_user on sh.

* The fsnotify regression was caused by moving one of the hooks out of the
  security hook in preparation for other fsnotify work. This meant that
  CONFIG_SECURITY would have compiled out the fsnotify hook before but didn't
  do so now. That lead to up to 6% performance regression in some io_uring
  workloads that compile all fsnotify and security checks out. Fix this by
  making sure that the relevant hooks are covered by the already existing
  CONFIG_FANOTIFY_ACCESS_PERMISSIONS where the relevant hook belongs.

/* Testing */
clang: Debian clang version 16.0.6 (19)
gcc: (Debian 13.2.0-7) 13.2.0

All patches are based on mainline as of yesterday. No build failures or
warnings were observed. I've successfully tested the changes to listmount with
the selftests we added.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit 70d201a40823acba23899342d62bc2644051ad2e:

  Merge tag 'f2fs-for-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs (2024-01-11 20:39:15 -0800)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.8-rc1.fixes

for you to fetch changes up to ba5afb9a84df2e6b26a1b6389b98849cd16ea757:

  fs: rework listmount() implementation (2024-01-13 13:06:25 +0100)

Please consider pulling these changes from the signed vfs-6.8-rc1.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.8-rc1.fixes

----------------------------------------------------------------
Amir Goldstein (1):
      fsnotify: compile out fsnotify permission hooks if !FANOTIFY_ACCESS_PERMISSIONS

Christian Brauner (1):
      fs: rework listmount() implementation

 fs/namespace.c           | 50 +++++++++++++++++++++++++++---------------------
 include/linux/fsnotify.h | 19 ++++++++++++++++++
 include/linux/syscalls.h |  2 +-
 3 files changed, 48 insertions(+), 23 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2023-11-24 10:27 Christian Brauner
  2023-11-24 18:25 ` Linus Torvalds
  2023-11-24 18:26 ` pr-tracker-bot
  0 siblings, 2 replies; 117+ messages in thread
From: Christian Brauner @ 2023-11-24 10:27 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains the usual miscellaneous fixes:

* Avoid calling back into LSMs from vfs_getattr_nosec() calls.

  IMA used to query inode properties accessing raw inode fields without
  dedicated helpers. That was finally fixed a few releases ago by
  forcing IMA to use vfs_getattr_nosec() helpers.

  The goal of the vfs_getattr_nosec() helper is to query for attributes
  without calling into the LSM layer which would be quite problematic
  because incredibly IMA is called from __fput()...

  __fput()
    -> ima_file_free()

  What it does is to call back into the filesystem to update the file's
  IMA xattr. Querying the inode without using vfs_getattr_nosec() meant
  that IMA didn't handle stacking filesystems such as overlayfs
  correctly. So the switch to vfs_getattr_nosec() is quite correct. But
  the switch to vfs_getattr_nosec() revealed another bug when used on
  stacking filesystems:

  __fput()
    -> ima_file_free()
       -> vfs_getattr_nosec()
          -> i_op->getattr::ovl_getattr()
             -> vfs_getattr()
                -> i_op->getattr::$WHATEVER_UNDERLYING_FS_getattr()
                   -> security_inode_getattr() # calls back into LSMs

  Now, if that __fput() happens from task_work_run() of an exiting task
  current->fs and various other pointer could already be NULL. So
  anything in the LSM layer relying on that not being NULL would be
  quite surprised.

  Fix that by passing the information that this is a security request
  through to the stacking filesystem by adding a new internal
  ATT_GETATTR_NOSEC flag. Now the callchain becomes:

  __fput()
    -> ima_file_free()
       -> vfs_getattr_nosec()
          -> i_op->getattr::ovl_getattr()
             -> if (AT_GETATTR_NOSEC)
                       vfs_getattr_nosec()
                else
                       vfs_getattr()
                -> i_op->getattr::$WHATEVER_UNDERLYING_FS_getattr()

* Fix a bug introduced with the iov_iter rework from last cycle.

  This broke /proc/kcore by copying too much and without the correct
  offset.

* Add a missing NULL check when allocating the root inode in
  autofs_fill_super().

* Fix stable writes for multi-device filesystems (xfs, btrfs etc) and
  the block device pseudo filesystem.

  Stable writes used to be a superblock flag only, making it a per
  filesystem property. Add an additional AS_STABLE_WRITES mapping flag
  to allow for fine-grained control.

* Ensure that offset_iterate_dir() returns 0 after reaching the end of a
  directory so it adheres to getdents() convention.

/* Testing */
clang: Debian clang version 16.0.6 (16)
gcc: gcc (Debian 13.2.0-5) 13.2.0

All patches are based on v6.7-rc1 and have been sitting in linux-next.
No build failures or warnings were observed. Passes xfstests.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86:

  Linux 6.7-rc1 (2023-11-12 16:19:07 -0800)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.7-rc3.fixes

for you to fetch changes up to 796432efab1e372d404e7a71cc6891a53f105051:

  libfs: getdents() should return 0 after reaching EOD (2023-11-20 15:34:22 +0100)

Please consider pulling these changes from the signed vfs-6.7-rc3.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.7-rc3.fixes

----------------------------------------------------------------
Christoph Hellwig (4):
      filemap: add a per-mapping stable writes flag
      block: update the stable_writes flag in bdev_add
      xfs: clean up FS_XFLAG_REALTIME handling in xfs_ioctl_setattr_xflags
      xfs: respect the stable writes flag on the RT device

Chuck Lever (1):
      libfs: getdents() should return 0 after reaching EOD

Ian Kent (1):
      autofs: add: new_inode check in autofs_fill_super()

Omar Sandoval (1):
      iov_iter: fix copy_page_to_iter_nofault()

Stefan Berger (1):
      fs: Pass AT_GETATTR_NOSEC flag to getattr interface function

 block/bdev.c               |  2 ++
 fs/autofs/inode.c          | 56 +++++++++++++++++-----------------------------
 fs/ecryptfs/inode.c        | 12 ++++++++--
 fs/inode.c                 |  2 ++
 fs/libfs.c                 | 14 +++++++++---
 fs/overlayfs/inode.c       | 10 ++++-----
 fs/overlayfs/overlayfs.h   |  8 +++++++
 fs/stat.c                  |  6 ++++-
 fs/xfs/xfs_inode.h         |  8 +++++++
 fs/xfs/xfs_ioctl.c         | 30 ++++++++++++++++---------
 fs/xfs/xfs_iops.c          |  7 ++++++
 include/linux/pagemap.h    | 17 ++++++++++++++
 include/uapi/linux/fcntl.h |  3 +++
 lib/iov_iter.c             |  2 +-
 mm/page-writeback.c        |  2 +-
 15 files changed, 121 insertions(+), 58 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2023-10-19 10:07 Christian Brauner
  2023-10-19 16:37 ` Linus Torvalds
  2023-10-19 18:36 ` pr-tracker-bot
  0 siblings, 2 replies; 117+ messages in thread
From: Christian Brauner @ 2023-10-19 10:07 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
An openat() call from io_uring triggering an audit call can apparently
cause the refcount of struct filename to be incremented from multiple
threads concurrently during async execution, triggering a refcount
underflow and hitting a BUG_ON(). That bug has been lurking around since
at least v5.16 apparently.

Switch to an atomic counter to fix that. The underflow check is
downgraded from a BUG_ON() to a WARN_ON_ONCE() but we could easily
remove that check altogether tbh and not waste an additional atomic. So
if you feel that extra check isn't needed you could just remove in case
you're pulling.

/* Testing */
clang: Ubuntu clang version 15.0.7
gcc: (Ubuntu 12.2.0-3ubuntu1) 12.2.0

All patches are based on v6.6-rc6 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit 94f6f0550c625fab1f373bb86a6669b45e9748b3:

  Linux 6.6-rc5 (2023-10-08 13:49:43 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/v6.6-rc7.vfs.fixes

for you to fetch changes up to 03adc61edad49e1bbecfb53f7ea5d78f398fe368:

  audit,io_uring: io_uring openat triggers audit reference count underflow (2023-10-13 18:34:46 +0200)

Please consider pulling these changes from the signed v6.6-rc7.vfs.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
v6.6-rc7.vfs.fixes

----------------------------------------------------------------
Dan Clash (1):
      audit,io_uring: io_uring openat triggers audit reference count underflow

 fs/namei.c         | 9 +++++----
 include/linux/fs.h | 2 +-
 kernel/auditsc.c   | 8 ++++----
 3 files changed, 10 insertions(+), 9 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2023-09-26 10:39 Christian Brauner
  2023-09-26 16:14 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2023-09-26 10:39 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains the usual miscellaneous fixes and cleanups for vfs and
individual fses:

Fixes
=====

* Revert ki_pos on error from buffered writes for direct io fallback
* Add missing documentation for block device and superblock handling
  for changes merged this cycle.
* Fix reiserfs flexible array usage
* Ensure that overlayfs sets ctime when setting mtime and atime.
* Disable deferred caller completions with overlayfs writes until proper
  support exists.

Cleanups
========

* Remove duplicate initialization in pipe code.
* Annotate aio kioctx_table with __counted_by.

/* Testing */
clang: Ubuntu clang version 15.0.7
gcc: (Ubuntu 12.2.0-3ubuntu1) 12.2.0

All patches are based on v6.5-rc1 and have been sitting in linux-next.
No build failures or warnings were observed. xfstests pass without
regressions.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit 0bb80ecc33a8fb5a682236443c1e740d5c917d1d:

  Linux 6.6-rc1 (2023-09-10 16:28:41 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/v6.6-rc4.vfs.fixes

for you to fetch changes up to 03dbab3bba5f009d053635c729d1244f2c8bad38:

  overlayfs: set ctime when setting mtime and atime (2023-09-25 14:53:54 +0200)

Please consider pulling these changes from the signed v6.6-rc4.vfs.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
v6.6-rc4.vfs.fixes

----------------------------------------------------------------
Al Viro (1):
      direct_write_fallback(): on error revert the ->ki_pos update from buffered write

Christian Brauner (3):
      porting: document new block device opening order
      porting: document superblock as block device holder
      ntfs3: put resources during ntfs_fill_super()

Chunhai Guo (1):
      fs-writeback: do not requeue a clean inode having skipped pages

Jeff Layton (1):
      overlayfs: set ctime when setting mtime and atime

Jens Axboe (1):
      ovl: disable IOCB_DIO_CALLER_COMP

Kees Cook (1):
      aio: Annotate struct kioctx_table with __counted_by

Max Kellermann (1):
      fs/pipe: remove duplicate "offset" initializer

Shigeru Yoshida (1):
      reiserfs: Replace 1-element array with C99 style flex-array

 Documentation/filesystems/porting.rst | 96 +++++++++++++++++++++++++++++++++++
 fs/aio.c                              |  2 +-
 fs/fs-writeback.c                     | 11 ++--
 fs/libfs.c                            |  1 +
 fs/ntfs3/super.c                      |  1 +
 fs/overlayfs/copy_up.c                |  2 +-
 fs/overlayfs/file.c                   |  6 +++
 fs/pipe.c                             |  1 -
 fs/reiserfs/reiserfs.h                |  6 +--
 9 files changed, 117 insertions(+), 9 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2023-07-06 11:52 Christian Brauner
  2023-07-07  2:27 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2023-07-06 11:52 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains two minor fixes for Jan's rename locking work:
(1) Unlocking the source inode was guarded by a check whether source was
    non-NULL. This doesn't make sense because source must be non-NULL
    and the commit message explains in detail why.
(2) The lock_two_nondirectories() helper called WARN_ON_ONCE() and
    dereferenced the inodes unconditionally but the underlying
    lock_two_inodes() helper and the kernel documentation for that
    function are clear that it is valid to pass NULL arguments. So here
    a non-NULL check is needed. No caller does pass non-NULL arguments
    but let's not knowingly leave landmines around.

/* Testing */
clang: Ubuntu clang version 15.0.7
gcc: (Ubuntu 12.2.0-3ubuntu1) 12.2.0

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

All patches are based on current mainline. No build failures or warnings
were observed. All old and new tests in fstests, selftests, and LTP pass
without regressions.

The following changes since commit 24be4d0b46bb0c3c1dc7bacd30957d6144a70dfc:

  arch/arm64/mm/fault: Fix undeclared variable error in do_page_fault() (2023-07-03 19:04:32 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/v6.5/vfs.fixes.2

for you to fetch changes up to 33ab231f83cc12d0157711bbf84e180c3be7d7bc:

  fs: don't assume arguments are non-NULL (2023-07-04 10:21:11 +0200)

Please consider pulling these changes from the signed v6.5/vfs.fixes.2 tag.

Thanks!
Christian

----------------------------------------------------------------
v6.5/vfs.fixes.2

----------------------------------------------------------------
Christian Brauner (1):
      fs: don't assume arguments are non-NULL

Jan Kara (1):
      fs: no need to check source

 fs/inode.c | 6 ++++--
 fs/namei.c | 3 +--
 2 files changed, 5 insertions(+), 4 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2023-07-02 11:28 Christian Brauner
  2023-07-02 18:53 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2023-07-02 11:28 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains a fix for the backing file work from this cycle. When
init_file() failed it would call file_free_rcu() on the file allocated
by the caller of init_file(). It naively assumed that the correct
cleanup operation would be called depending on whether it is a regular
file or a backing file. However, that presupposes that the FMODE_BACKING
flag would already be set which it won't be as that is done in the
caller of init_file().

Fix that bug by moving the cleanup of the allocated file into the caller
where it belongs in the first place. There's no good reason for
init_file() to consume resources it didn't allocate. This is a mainline
only fix and was reported by syzbot. The fix was validated by syzbot
against the provided reproducer.

/* Testing */
clang: Ubuntu clang version 15.0.7
gcc: (Ubuntu 12.2.0-3ubuntu1) 12.2.0

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

All patches are based on current mainline. No build failures or warnings
were observed. All old and new tests in fstests, selftests, and LTP pass
without regressions.

The following changes since commit 995b406c7e972fab181a4bb57f3b95e59b8e5bf3:

  Merge tag 'csky-for-linus-6.5' of https://github.com/c-sky/csky-linux (2023-07-01 21:12:32 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/v6.5/vfs.fixes

for you to fetch changes up to dff745c1221a402b4921d54f292288373cff500c:

  fs: move cleanup from init_file() into its callers (2023-07-02 13:15:49 +0200)

Please consider pulling these changes from the signed v6.5/vfs.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
v6.5/vfs.fixes

----------------------------------------------------------------
Amir Goldstein (1):
      fs: move cleanup from init_file() into its callers

 fs/file_table.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2023-05-25 12:22 Christian Brauner
  2023-05-25 18:18 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2023-05-25 12:22 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains a small set of fixes:

* During the acl rework we merged this cycle the generic_listxattr()
  helper had to be modified in a way that in principle it would allow
  for POSIX ACLs to be reported. At least that was the impression we had
  initially. Because before the acl rework POSIX ACLs would be reported
  if the filesystem did have POSIX ACL xattr handlers in sb->s_xattr.
  That logic changed and now we can simply check whether the superblock
  has SB_POSIXACL set and if the inode has inode->i_{default_}acl set
  report the appropriate POSIX ACL name.

  However, we didn't realize that generic_listxattr() was only ever used
  by two filesystems. Both of them don't support POSIX ACLs via
  sb->s_xattr handlers and so never reported POSIX ACLs via
  generic_listxattr() even if they raised SB_POSIXACL and did contain
  inodes which had acls set. The example here is nfs4. So
  generic_listxattr() suddenly started reporting POSIX ACLs when it
  wouldn't have before.
  Since SB_POSIXACL implies that the umask isn't stripped in the VFS
  nfs4 can't just drop SB_POSIXACL from the superblock as it would also
  alter umask handling for them. So just have generic_listxattr() not
  report POSIX ACLs as it never did anyway. It's documented as such.

* Our SB_* flags currently use a signed integer and we shift the last
  bit causing UBSAN to complain about undefined behavior. Switch to
  using unsigned. While the original patch used an explicit unsigned
  bitshift it's now pretty common to rely on the BIT() macro in a lot of
  headers nowadays. So the patch has been adjusted to use that.

* Add Namjae as ntfs reviewer. They're already active this cycle so
  let's make it explicit right now.

/* Testing */
clang: Ubuntu clang version 15.0.7
gcc: (Ubuntu 12.2.0-3ubuntu1) 12.2.0

All patches are based on 6.4-rc2 and have been sitting in linux-next.
No build failures or warnings were observed. All old and new tests in
fstests, selftests, and LTP pass without regressions.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6:

  Linux 6.4-rc2 (2023-05-14 12:51:40 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs/v6.4-rc3/misc.fixes

for you to fetch changes up to 48524463f807ec516a291bdf717dcf2c8e059f51:

  ntfs: Add myself as a reviewer (2023-05-17 15:25:21 +0200)

Please consider pulling these changes from the signed vfs/v6.4-rc2/misc.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs/v6.4-rc2/misc.fixes

----------------------------------------------------------------
Hao Ge (1):
      fs: fix undefined behavior in bit shift for SB_NOUSER

Jeff Layton (1):
      fs: don't call posix_acl_listxattr in generic_listxattr

Namjae Jeon (1):
      ntfs: Add myself as a reviewer

 MAINTAINERS        |  1 +
 fs/xattr.c         | 15 +++++++++------
 include/linux/fs.h | 42 +++++++++++++++++++++---------------------
 3 files changed, 31 insertions(+), 27 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2023-05-12 15:31 Christian Brauner
  2023-05-12 22:14 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2023-05-12 15:31 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
During the pipe nonblock rework that made it in the check for both
O_NONBLOCK and IOCB_NOWAIT was dropped. Both checks need to be performed
to ensure that files without O_NONBLOCK but IOCB_NOWAIT don't block when
writing to or reading from a pipe.

This just contains the fix adding the check for IOCB_NOWAIT back in.

---

On a personal note, I'm still traveling because of LSFMMBPF (I'm
probably missing 5 letters and rearranging 3) and LSS
and will only be back on a regular schedule starting Tuesday.

/* Testing */
clang: Ubuntu clang version 15.0.6
gcc: (Ubuntu 12.2.0-3ubuntu1) 12.2.0

All patches are based on 6.4-rc1 and have been sitting in linux-next.
No build failures or warnings were observed. All old and new tests in
fstests, selftests, and LTP pass without regressions.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit ac9a78681b921877518763ba0e89202254349d1b:

  Linux 6.4-rc1 (2023-05-07 13:34:35 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs/v6.4-rc1/pipe

for you to fetch changes up to c04fe8e32f907ea668f3f802387c1148fdb0e6c9:

  pipe: check for IOCB_NOWAIT alongside O_NONBLOCK (2023-05-12 17:17:27 +0200)

Please consider pulling these changes from the signed vfs/v6.4-rc1/pipe tag.

Thanks!
Christian

----------------------------------------------------------------
vfs/v6.4-rc1/pipe

----------------------------------------------------------------
Jens Axboe (1):
      pipe: check for IOCB_NOWAIT alongside O_NONBLOCK

 fs/pipe.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2023-04-03 11:04 Christian Brauner
  2023-04-03 16:51 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2023-04-03 11:04 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
When a mount or mount tree is made shared the vfs allocates new peer
group ids for all mounts that have no peer group id set. Only mounts
that aren't marked with MNT_SHARED are relevant here as MNT_SHARED
indicates that the mount has fully transitioned to a shared mount. The
peer group id handling is done with namespace lock held.

On failure, the peer group id settings of mounts for which a new peer
group id was allocated need to be reverted and the allocated peer group
id freed. The cleanup_group_ids() helper can identify the mounts to
cleanup by checking whether a given mount has a peer group id set but
isn't marked MNT_SHARED. The deallocation always needs to happen with
namespace lock held to protect against concurrent modifications of the
propagation settings.

This pull request contains a fix for the one place where the namespace
lock was dropped before calling cleanup_group_ids().

/* Testing */
clang: Ubuntu clang version 15.0.6
gcc: gcc (Ubuntu 12.2.0-3ubuntu1) 12.2.0

All patches are based on v6.3-rc4 and have been sitting in linux-next.
No build failures or warnings were observed. All old and new tests in
fstests, selftests, and LTP pass without regressions.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit 197b6b60ae7bc51dd0814953c562833143b292aa:

  Linux 6.3-rc4 (2023-03-26 14:40:20 -0700)

are available in the Git repository at:

  ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping.git tags/vfs.misc.fixes.v6.3-rc6

for you to fetch changes up to cb2239c198ad9fbd5aced22cf93e45562da781eb:

  fs: drop peer group ids under namespace lock (2023-03-31 12:13:37 +0200)

Please consider pulling these changes from the signed vfs.misc.fixes.v6.3-rc6 tag.

Thanks!
Christian

----------------------------------------------------------------
vfs.misc.fixes.v6.3-rc6

----------------------------------------------------------------
Christian Brauner (1):
      fs: drop peer group ids under namespace lock

 fs/namespace.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [GIT PULL] vfs fixes
@ 2023-03-12 12:18 Christian Brauner
  2023-03-12 16:20 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Christian Brauner @ 2023-03-12 12:18 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Christian Brauner, linux-fsdevel, linux-kernel

Hey Linus,

/* Summary */
This contains a few simple vfs fixes for v6.3. There should be nothing
exciting in here:

* When allocating pages for a watch queue failed, we didn't return an
  error causing userspace to proceed even though all subsequent
  notifcations would be lost. Make sure to return an error.
* Fix a misformed tree entry for the idmapping maintainers entry.
* When setting file leases from an idmapped mount via generic_setlease()
  we need to take the idmapping into account otherwise taking a lease
  would fail from an idmapped mount.
* Remove two redundant assignments, one in splice code and the other in
  locks code, that static checkers complained about.

The watch queue and file lease fix should be backported.

/* Testing */
clang: Ubuntu clang version 15.0.2-1
gcc: gcc (Ubuntu 12.2.0-3ubuntu1) 12.2.0

All patches are based on v6.3-rc1 and have been sitting in linux-next.
No build failures or warnings were observed. All old and new tests in
fstests, selftests, and LTP pass without regressions.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit fe15c26ee26efa11741a7b632e9f23b01aca4cc6:

  Linux 6.3-rc1 (2023-03-05 14:52:03 -0800)

are available in the Git repository at:

  ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/vfs/idmapping.git tags/vfs.misc.v6.3-rc2

for you to fetch changes up to 42d0c4bdf753063b6eec55415003184d3ca24f6e:

  filelocks: use mount idmapping for setlease permission check (2023-03-09 22:36:12 +0100)

Please consider pulling these changes from the signed vfs.misc.v6.3-rc2 tag.

Thanks!
Christian

----------------------------------------------------------------
vfs.misc.v6.3-rc2

----------------------------------------------------------------
David Disseldorp (1):
      watch_queue: fix IOC_WATCH_QUEUE_SET_SIZE alloc error paths

Jiapeng Chong (2):
      splice: Remove redundant assignment to ret
      fs/locks: Remove redundant assignment to cmd

Lukas Bulwahn (1):
      MAINTAINERS: repair a malformed T: entry in IDMAPPED MOUNTS

Seth Forshee (1):
      filelocks: use mount idmapping for setlease permission check

 MAINTAINERS          | 4 ++--
 fs/locks.c           | 4 ++--
 fs/splice.c          | 1 -
 kernel/watch_queue.c | 1 +
 4 files changed, 5 insertions(+), 5 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2020-09-22 21:29 Al Viro
  2020-09-22 22:15 ` pr-tracker-bot
  0 siblings, 1 reply; 117+ messages in thread
From: Al Viro @ 2020-09-22 21:29 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-fsdevel, linux-kernel

	No common topic, just several assorted fixes.

The following changes since commit 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5:

  Linux 5.9-rc1 (2020-08-16 13:04:57 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git fixes

for you to fetch changes up to 933a3752babcf6513117d5773d2b70782d6ad149:

  fuse: fix the ->direct_IO() treatment of iov_iter (2020-09-17 17:26:56 -0400)

----------------------------------------------------------------
Al Viro (1):
      fuse: fix the ->direct_IO() treatment of iov_iter

Alexey Dobriyan (1):
      fs: fix cast in fsparam_u32hex() macro

Hans de Goede (1):
      vboxsf: Fix the check for the old binary mount-arguments struct

 fs/fuse/file.c            | 25 ++++++++++++-------------
 fs/vboxsf/super.c         |  2 +-
 include/linux/fs_parser.h |  2 +-
 3 files changed, 14 insertions(+), 15 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
[parent not found: <CAHk-=wgdsv1UA+QtgiJM8KQAG7N7_9iK_edchnzZYyj+nxmfLA@mail.gmail.com>]
* [git pull] vfs fixes
@ 2018-07-01 12:31 Al Viro
  2018-07-01 19:36 ` Linus Torvalds
  0 siblings, 1 reply; 117+ messages in thread
From: Al Viro @ 2018-07-01 12:31 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-fsdevel

	Followup to procfs-seq_file series this window

The following changes since commit ce397d215ccd07b8ae3f71db689aedb85d56ab40:

  Linux 4.18-rc1 (2018-06-17 08:04:49 +0900)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git fixes

for you to fetch changes up to 877f919e192a09e77962a13d7165783027dee5fd:

  proc: add proc_seq_release (2018-06-27 20:44:38 -0400)

----------------------------------------------------------------
Chunyu Hu (1):
      proc: add proc_seq_release

 fs/proc/generic.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2018-04-20 15:58 Al Viro
  2018-04-20 18:29 ` Andrew Morton
  0 siblings, 1 reply; 117+ messages in thread
From: Al Viro @ 2018-04-20 15:58 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel

	Assorted fixes.  Some of that is only a matter with fault injection
(broken handling of small allocation failure in various mount-related places),
but the last one is a root-triggerable stack overflow, and combined with
userns it gets really nasty ;-/

The following changes since commit 60cc43fc888428bb2f18f08997432d426a243338:

  Linux 4.17-rc1 (2018-04-15 18:24:20 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

for you to fetch changes up to 16a34adb9392b2fe4195267475ab5b472e55292c:

  Don't leak MNT_INTERNAL away from internal mounts (2018-04-19 23:52:15 -0400)

----------------------------------------------------------------
Al Viro (5):
      hypfs_kill_super(): deal with failed allocations
      jffs2_kill_sb(): deal with failed allocations
      orangefs_kill_sb(): deal with allocation failures
      rpc_pipefs: fix double-dput()
      Don't leak MNT_INTERNAL away from internal mounts

Tetsuo Handa (1):
      mm,vmscan: Allow preallocating memory for register_shrinker().

 arch/s390/hypfs/inode.c  |  2 +-
 fs/jffs2/super.c         |  2 +-
 fs/namespace.c           |  3 ++-
 fs/orangefs/super.c      |  5 +++++
 fs/super.c               |  9 ++++-----
 include/linux/shrinker.h |  7 +++++--
 mm/vmscan.c              | 21 ++++++++++++++++++++-
 net/sunrpc/rpc_pipe.c    |  1 +
 8 files changed, 39 insertions(+), 11 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2017-06-17  2:56 Al Viro
  0 siblings, 0 replies; 117+ messages in thread
From: Al Viro @ 2017-06-17  2:56 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel

	A couple of fixes; a leak in mntns_install() caught by Andrei
(this cycle regression) + d_invalidate() softlockup fix - that had
been reported by a bunch of people lately, but the problem is pretty
old.

The following changes since commit 32c1431eea4881a6b17bd7c639315010aeefa452:

  Linux 4.12-rc5 (2017-06-11 16:48:20 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

for you to fetch changes up to 4068367c9ca7b515a209f9c0c8741309a1e90495:

  fs: don't forget to put old mntns in mntns_install (2017-06-15 06:53:05 -0400)

----------------------------------------------------------------
Al Viro (1):
      Hang/soft lockup in d_invalidate with simultaneous calls

Andrei Vagin (1):
      fs: don't forget to put old mntns in mntns_install

 fs/dcache.c    | 10 ++++------
 fs/namespace.c |  2 ++
 2 files changed, 6 insertions(+), 6 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2017-04-09  5:40 Al Viro
  2017-04-11  6:10 ` Linus Torvalds
  2017-04-15  6:41 ` Vegard Nossum
  0 siblings, 2 replies; 117+ messages in thread
From: Al Viro @ 2017-04-09  5:40 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel


The following changes since commit a71c9a1c779f2499fb2afc0553e543f18aff6edf:

  Linux 4.11-rc5 (2017-04-02 17:23:54 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

for you to fetch changes up to a8e28440016bfb23bec266c4c66eacca6ea2d48b:

  Merge branch 'work.statx' into for-next (2017-04-03 01:06:59 -0400)

----------------------------------------------------------------
Al Viro (2):
      alpha: fix stack smashing in old_adjtimex(2)
      Merge branch 'work.statx' into for-next

Darrick J. Wong (1):
      xfs: report crtime and attribute flags to statx

David Howells (3):
      ext4: Add statx support
      statx: Reserve the top bit of the mask for future struct expansion
      statx: Include a mask for stx_attributes in struct statx

Eric Biggers (4):
      Documentation/filesystems: fix documentation for ->getattr()
      statx: reject unknown flags when using NULL path
      statx: remove incorrect part of vfs_statx() comment
      statx: optimize copy of struct statx to userspace

 Documentation/filesystems/Locking |  3 +-
 Documentation/filesystems/porting |  6 +++
 Documentation/filesystems/vfs.txt |  3 +-
 arch/alpha/kernel/osf_sys.c       |  2 +-
 fs/ext4/ext4.h                    |  1 +
 fs/ext4/file.c                    |  2 +-
 fs/ext4/inode.c                   | 41 +++++++++++++++++--
 fs/ext4/namei.c                   |  2 +
 fs/ext4/symlink.c                 |  3 ++
 fs/stat.c                         | 86 ++++++++++++++++++---------------------
 fs/xfs/xfs_iops.c                 | 14 +++++++
 include/linux/stat.h              |  1 +
 include/uapi/linux/stat.h         |  5 ++-
 samples/statx/test-statx.c        | 12 ++++--
 14 files changed, 120 insertions(+), 61 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* Q. hlist_bl_add_head_rcu() in d_alloc_parallel()
@ 2016-06-17 20:50 J. R. Okajima
  2016-06-17 22:16 ` Al Viro
  0 siblings, 1 reply; 117+ messages in thread
From: J. R. Okajima @ 2016-06-17 20:50 UTC (permalink / raw)
  To: viro, linux-fsdevel


I am afraid there may exist another violation of "no lookups on the same
name in parallel" rule, but I am not sure.

Roughly d_alloc_parallel() behaves like this.

struct dentry *d_alloc_parallel()
{
	new = d_alloc(parent, name);

	rcu_read_lock();
	hlist_bl_lock(b);
	rcu_read_unlock();
	hlist_bl_for_each_entry(dentry, node, b, d_u.d_in_lookup_hash) {
		if (!matched_dentry_found)
			continue;
		dget(dentry);
		hlist_bl_unlock(b);
		return dentry;
	}
	hlist_bl_add_head_rcu(&new->d_u.d_in_lookup_hash, b);
	hlist_bl_unlock(b);
	return new;
}

When two processes try opening a single existing file and enters
d_alloc_parallel() at the same time, only one process wins and should
succeeds hlist_bl_add_head_rcu(). The other process should find the
dentry in d_u.d_in_lookup_hash and return 'dentry' (instead of
'new'). Am I right?

My question is when will 'new' be added into d_u.d_in_lookup_hash?
It should be between these two lines, I guess.
	rcu_read_unlock();
	hlist_bl_for_each_entry(dentry, node, b, d_u.d_in_lookup_hash) {
But can it surely happen?
If 'new' is not added here because someone else is in rcu_read_lock
region or other reason, then both processes will add the same named but
different dentry?

Is it better to change the lock/unlock-order like this?

	rcu_read_unlock();
	rcu_barrier();
	hlist_bl_lock(b);
	hlist_bl_for_each_entry(dentry, node, b, d_u.d_in_lookup_hash) {


J. R. Okajima

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2016-06-08  2:12 Al Viro
  0 siblings, 0 replies; 117+ messages in thread
From: Al Viro @ 2016-06-08  2:12 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel

	Fixes for crap of assorted ages: EOPENSTALE one is 4.2+, autofs
one is 4.6, d_walk - 3.2+, atomic_open() and coredump ones are this window
regressions.

The following changes since commit 1a695a905c18548062509178b98bc91e67510864:

  Linux 4.7-rc1 (2016-05-29 09:29:24 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

for you to fetch changes up to 1607f09c226d1378439c411baaaa020042750338:

  coredump: fix dumping through pipes (2016-06-07 22:07:09 -0400)

----------------------------------------------------------------
Al Viro (4):
      fix EOPENSTALE bug in do_last()
      autofs braino fix for do_last()
      fix d_walk()/non-delayed __d_free() race
      fix a regression in atomic_open()

Mateusz Guzik (1):
      coredump: fix dumping through pipes

 arch/powerpc/platforms/cell/spufs/coredump.c |  2 +-
 fs/binfmt_elf.c                              |  2 +-
 fs/binfmt_elf_fdpic.c                        |  2 +-
 fs/coredump.c                                |  4 +-
 fs/dcache.c                                  |  4 +-
 fs/namei.c                                   | 61 +++++++---------------------
 include/linux/binfmts.h                      |  1 +
 7 files changed, 24 insertions(+), 52 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2016-05-28  0:10 Al Viro
  0 siblings, 0 replies; 117+ messages in thread
From: Al Viro @ 2016-05-28  0:10 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel

	work.lookups followups - update docs, restore killability of
the places that used to take ->i_mutex killably now that we have
down_write_killable() merged.  Additionally, it turns out that I missed
a prereq for security_d_instantiate() stuff - ->getxattr() wasn't the
only thing that could be called before dentry is attached to inode; with
smack we needed the same treatment applied to ->setxattr() as well.

The following changes since commit 0985b65d3ba2c09f10a594b73df45c1f7f68d317:

  Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs (2016-05-25 15:59:09 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

for you to fetch changes up to 3767e255b390d72f9a33c08d9e86c5f21f25860f:

  switch ->setxattr() to passing dentry and inode separately (2016-05-27 20:09:16 -0400)

----------------------------------------------------------------
Al Viro (5):
      update D/f/directory-locking
      add down_write_killable_nested()
      restore killability of old mutex_lock_killable(&inode->i_mutex) users
      switch xattr_handler->set() to passing dentry and inode separately
      switch ->setxattr() to passing dentry and inode separately

 Documentation/filesystems/directory-locking        | 32 ++++++++++++++--------
 Documentation/filesystems/porting                  |  7 +++++
 .../staging/lustre/lustre/llite/llite_internal.h   |  4 +--
 drivers/staging/lustre/lustre/llite/xattr.c        |  6 ++--
 fs/9p/acl.c                                        |  6 ++--
 fs/9p/xattr.c                                      |  5 ++--
 fs/bad_inode.c                                     |  4 +--
 fs/btrfs/ioctl.c                                   | 18 +++++-------
 fs/btrfs/xattr.c                                   | 12 ++++----
 fs/ceph/xattr.c                                    |  7 +++--
 fs/cifs/xattr.c                                    |  9 +++---
 fs/ecryptfs/crypto.c                               |  9 +++---
 fs/ecryptfs/ecryptfs_kernel.h                      |  4 +--
 fs/ecryptfs/inode.c                                |  7 +++--
 fs/ecryptfs/mmap.c                                 |  3 +-
 fs/ext2/xattr_security.c                           |  7 +++--
 fs/ext2/xattr_trusted.c                            |  7 +++--
 fs/ext2/xattr_user.c                               |  9 +++---
 fs/ext4/xattr_security.c                           |  7 +++--
 fs/ext4/xattr_trusted.c                            |  7 +++--
 fs/ext4/xattr_user.c                               |  9 +++---
 fs/f2fs/xattr.c                                    | 12 ++++----
 fs/fuse/dir.c                                      |  6 ++--
 fs/gfs2/xattr.c                                    |  6 ++--
 fs/hfs/attr.c                                      |  6 ++--
 fs/hfs/hfs_fs.h                                    |  2 +-
 fs/hfsplus/xattr.c                                 | 12 ++++----
 fs/hfsplus/xattr.h                                 |  2 +-
 fs/hfsplus/xattr_security.c                        |  7 +++--
 fs/hfsplus/xattr_trusted.c                         |  7 +++--
 fs/hfsplus/xattr_user.c                            |  7 +++--
 fs/jffs2/security.c                                |  7 +++--
 fs/jffs2/xattr_trusted.c                           |  7 +++--
 fs/jffs2/xattr_user.c                              |  7 +++--
 fs/jfs/xattr.c                                     | 14 ++++------
 fs/kernfs/inode.c                                  | 11 ++++----
 fs/kernfs/kernfs-internal.h                        |  3 +-
 fs/libfs.c                                         |  5 ++--
 fs/nfs/nfs4proc.c                                  | 19 ++++++-------
 fs/ocfs2/xattr.c                                   | 23 +++++++++-------
 fs/orangefs/xattr.c                                | 10 ++++---
 fs/overlayfs/inode.c                               |  5 ++--
 fs/overlayfs/overlayfs.h                           |  5 ++--
 fs/overlayfs/readdir.c                             |  4 +--
 fs/posix_acl.c                                     |  6 ++--
 fs/readdir.c                                       | 12 ++++----
 fs/reiserfs/xattr_security.c                       |  9 +++---
 fs/reiserfs/xattr_trusted.c                        |  9 +++---
 fs/reiserfs/xattr_user.c                           |  9 +++---
 fs/ubifs/xattr.c                                   |  7 ++---
 fs/xattr.c                                         | 10 ++++---
 fs/xfs/xfs_xattr.c                                 |  9 +++---
 include/linux/fs.h                                 |  3 +-
 include/linux/rwsem.h                              |  2 ++
 include/linux/xattr.h                              |  7 +++--
 kernel/locking/rwsem.c                             | 16 +++++++++++
 mm/shmem.c                                         |  7 +++--
 security/smack/smack_lsm.c                         |  2 +-
 58 files changed, 265 insertions(+), 209 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2016-02-28  1:09 Al Viro
  0 siblings, 0 replies; 117+ messages in thread
From: Al Viro @ 2016-02-28  1:09 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel

The following changes since commit 7ae8fd0351f912b075149a1e03a017be8b903b9a:

  fs/pnode.c: treat zero mnt_group_id-s as unequal (2016-02-20 00:15:52 -0500)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

for you to fetch changes up to 5129fa482b16615fd4464d2f5d23acb1b7056c66:

  do_last(): ELOOP failure exit should be done after leaving RCU mode (2016-02-27 19:37:37 -0500)

----------------------------------------------------------------
Al Viro (4):
      do_last(): don't let a bogus return value from ->open() et.al. to confuse us
      namei: ->d_inode of a pinned dentry is stable only for positives
      should_follow_link(): validate ->d_seq after having decided to follow
      do_last(): ELOOP failure exit should be done after leaving RCU mode

Christoph Hellwig (1):
      fs: return -EOPNOTSUPP if clone is not supported

Mikulas Patocka (1):
      hpfs: don't truncate the file when delete fails

 fs/hpfs/namei.c | 31 +++----------------------------
 fs/namei.c      | 22 +++++++++++++++-------
 fs/read_write.c |  6 ++++--
 3 files changed, 22 insertions(+), 37 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2014-09-14 19:47 Al Viro
  2014-09-26 20:38 ` Joachim Eastwood
  2014-09-26 20:46 ` Joachim Eastwood
  0 siblings, 2 replies; 117+ messages in thread
From: Al Viro @ 2014-09-14 19:47 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel

double iput() on failure exit in lustre, racy removal of spliced dentries
from ->s_anon in __d_materialise_dentry() plus a bunch of assorted RCU pathwalk
fixes.  Please, pull from the usual place -
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

Shortlog:
Al Viro (5):
      [fix] lustre: d_make_root() does iput() on dentry allocation failure
      move the call of __d_drop(anon) into __d_materialise_unique(dentry, anon)
      fix bogus read_seqretry() checks introduced in b37199e
      don't bugger nd->seq on set_root_rcu() from follow_dotdot_rcu()
      be careful with nd->inode in path_init() and follow_dotdot_rcu()

Diffstat:
 drivers/staging/lustre/lustre/llite/llite_lib.c |    2 +-
 fs/dcache.c                                     |    8 +++-
 fs/namei.c                                      |   52 ++++++++++++++---------
 3 files changed, 39 insertions(+), 23 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* Re: [git pull] vfs fixes
@ 2014-03-24 22:58 Imre Deak
  2014-03-25  7:21 ` Sedat Dilek
  0 siblings, 1 reply; 117+ messages in thread
From: Imre Deak @ 2014-03-24 22:58 UTC (permalink / raw)
  To: Al Viro; +Cc: Linus Torvalds, linux-kernel, linux-fsdevel

> [...]
> Shortlog:
> Al Viro (6):
>       make prepend_name() work correctly when called with negative
*buflen

A proper attribution for the above fix would have been nice. Tracking
down the bug was the main thing after all:

https://lkml.org/lkml/2014/3/12/620

--Imre


^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2014-03-23  7:16 Al Viro
  2014-03-23 10:57 ` Sedat Dilek
  2014-03-23 16:36 ` Linus Torvalds
  0 siblings, 2 replies; 117+ messages in thread
From: Al Viro @ 2014-03-23  7:16 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel

	Several fixes; first 4 commits are obvious fixes (a couple
of fdget_pos()-related ones from Eric Biggers, prepend_name() fix, missing
checks for false negatives from __lookup_mnt() in fs/namei.c), followed
by 4 commits dealing with the bug found by Max last week - switch of
mnt_hash to hlist, to avoid the fun with non-terminating __lookup_mnt().
I'm fairly comfortable with that pile, but whether its second part is OK
at this point is up to you; it seems to survive everything I'd thrown
at it, and it's quite straightforward.  If you really feel that it's
too close to -final, well... alternative variant is to replace the last
4 with "if we are spinning too much in __lookup_mnt(), check mount_lock"
kludge like the one I've posted early in the "don't clobber mnt_hash.next"
thread.  I'd rather go for "let's just use hlist", obviously...

git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

Shortlog:
Al Viro (6):
      make prepend_name() work correctly when called with negative *buflen
      rcuwalk: recheck mount_lock after mountpoint crossing attempts
      resizable namespace.c hashes
      keep shadowed vfsmounts together
      don't bother with propagate_mnt() unless the target is shared
      switch mnt_hash to hlist

Eric Biggers (2):
      vfs: atomic f_pos access in llseek()
      vfs: Don't let __fdget_pos() get FMODE_PATH files

Diffstat:
 fs/dcache.c     |    4 +-
 fs/file.c       |   19 ++----
 fs/mount.h      |    4 +-
 fs/namei.c      |   29 ++++-----
 fs/namespace.c  |  177 ++++++++++++++++++++++++++++++++++++-------------------
 fs/pnode.c      |   26 ++++----
 fs/pnode.h      |    4 +-
 fs/read_write.c |    4 +-
 8 files changed, 155 insertions(+), 112 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2013-06-22  7:16 Al Viro
  0 siblings, 0 replies; 117+ messages in thread
From: Al Viro @ 2013-06-22  7:16 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel

Several fixes for bugs caught while looking through f_pos (ab)users.
Please, pull from the usual place -
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

Shortlog:
Al Viro (3):
      mconsole: we'd better initialize pos before passing it to vfs_read()...
      splice: don't pass the address of ->f_pos to methods
      aout32 coredump compat fix

Diffstat:
 arch/um/drivers/mconsole_kern.c |    2 +-
 arch/x86/ia32/ia32_aout.c       |    2 +-
 fs/internal.h                   |    6 ++++++
 fs/read_write.c                 |   24 ++++++++++++++++--------
 fs/splice.c                     |   31 ++++++++++++++++++-------------
 include/linux/fs.h              |    2 --
 include/linux/splice.h          |    1 +
 7 files changed, 43 insertions(+), 25 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2013-03-27  0:36 Al Viro
  0 siblings, 0 replies; 117+ messages in thread
From: Al Viro @ 2013-03-27  0:36 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel

-stable fodder; assorted deadlock fixes.  Please, pull from
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

Shortlog:
Al Viro (3):
      Don't bother with redoing rw_verify_area() from default_file_splice_from()
      Nest rename_lock inside vfsmount_lock
      vt: synchronize_rcu() under spinlock is not nice...

Diffstat:
 drivers/tty/vt/vc_screen.c |    6 ++++--
 fs/dcache.c                |   16 +++++++++++-----
 fs/internal.h              |    5 +++++
 fs/read_write.c            |   25 +++++++++++++++++++++++++
 fs/splice.c                |    4 +++-
 5 files changed, 48 insertions(+), 8 deletions(-)


^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2012-03-10 21:30 Al Viro
  2012-03-10 21:49 ` Linus Torvalds
  0 siblings, 1 reply; 117+ messages in thread
From: Al Viro @ 2012-03-10 21:30 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-fsdevel

	A bunch of assorted fixes; Jan's freezing stuff still _not_
in there and neither is mm fun ;-/  Please, pull from usual place -
git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus
Shortlog:
Jan Kara (2):
      udf: Fix deadlock in udf_release_file()
      vfs: Fix missed wakeup in I_NEW handling

Miklos Szeredi (2):
      vfs: fix double put after complete_walk()
      vfs: fix return value from do_last()

Tyler Hicks (1):
      vfs: Correctly set the dir i_mutex lockdep class

Diffstat:
 fs/inode.c                |   25 +++++++++++++++++++++++--
 fs/namei.c                |    4 ++--
 fs/udf/file.c             |    2 --
 include/linux/writeback.h |    5 -----
 4 files changed, 25 insertions(+), 11 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2010-01-29  2:39 Al Viro
  0 siblings, 0 replies; 117+ messages in thread
From: Al Viro @ 2010-01-29  2:39 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel

Assorted filesystem fixes (mostly around ->get_sb() and ->remount_fs())
Please, pull from
git.kernel.org://pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus

Shortlog:
Al Viro (8):
      Fix a leak in affs_fill_super()
      Fix remount races with symlink handling in affs
      fix affs parse_options()
      Fix failure exits in bfs_fill_super()
      get rid of pointless checks after simple_pin_fs()
      fix leak in romfs_fill_super()
      fix oops in fs/9p late mount failure
      Fix failure exit in ipathfs

Diffstat:
 drivers/infiniband/hw/ipath/ipath_fs.c |    4 +--
 fs/9p/vfs_super.c                      |    3 +-
 fs/affs/affs.h                         |    2 +-
 fs/affs/namei.c                        |    7 +++-
 fs/affs/super.c                        |   31 ++++++++++++++++------
 fs/affs/symlink.c                      |    7 +++-
 fs/bfs/inode.c                         |   43 +++++++++++++++----------------
 fs/debugfs/inode.c                     |   11 +------
 fs/romfs/super.c                       |    1 +
 security/inode.c                       |   11 +------
 10 files changed, 62 insertions(+), 58 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2010-01-17  7:57 Al Viro
  0 siblings, 0 replies; 117+ messages in thread
From: Al Viro @ 2010-01-17  7:57 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel

Assorted fixes (plus an obvious fs/9p cleanup).  Please, pull from
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus

Shortlog:
Al Viro (12):
      fix autofs/afs/etc. magic mountpoint breakage
      Kill 9p readlink()
      hppfs: handle ->put_link()
      Unrot uml mconsole a bit
      Fix ACC_MODE() for real
      Fix the -ESTALE handling in do_filp_open()
      Fix configfs leak
      may_umount() needs namespace_sem
      attach_recursive_mnt() needs to hold vfsmount_lock over set_mnt_shared()
      mnt_flags fixes in do_remount()
      CIFS shouldn't make mountpoints shrinkable
      do_add_mount() should sanitize mnt_flags

OGAWA Hirofumi (1):
      ecryptfs: Fix refcnt leak on ecryptfs_follow_link() error path

Diffstat:
 arch/um/drivers/mconsole_kern.c |   49 ++++++++++++++------------------------
 fs/9p/vfs_inode.c               |   41 +-------------------------------
 fs/cifs/cifs_dfs_ref.c          |    3 +-
 fs/configfs/symlink.c           |    4 ++-
 fs/ecryptfs/inode.c             |   24 +++++++++---------
 fs/hppfs/hppfs.c                |   18 +++++++++----
 fs/namei.c                      |   23 ++++++++---------
 fs/namespace.c                  |   14 ++++++++--
 fs/proc/base.c                  |    1 -
 include/linux/fs.h              |    2 +-
 security/tomoyo/tomoyo.c        |    7 +----
 11 files changed, 71 insertions(+), 115 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread
* [git pull] vfs fixes
@ 2008-08-25  5:25 Al Viro
  2008-08-25  5:29 ` Al Viro
  0 siblings, 1 reply; 117+ messages in thread
From: Al Viro @ 2008-08-25  5:25 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel

Assorted fixes.  Note on d_add_ci patch - we definitely want it to have the
same order of arguments as in d_add(), so we'd better fix that before .27.
Please pull from 
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus

Shortlog:
Al Viro (6):
      fix efs_lookup()
      fix osf_getdirents()
      fix hpux_getdents()
      fix regular readdir() and friends
      fix ->llseek() for a bunch of directories
      deal with the first call of ->show() generating no output

Alexey Dobriyan (1):
      proc: inode number fixlet

Christoph Hellwig (2):
      change d_add_ci argument ordering
      ntfs: use d_add_ci

Diffstat:
 arch/alpha/kernel/osf_sys.c |   19 ++++++---
 arch/parisc/hpux/fs.c       |   30 +++++++++-----
 drivers/misc/acer-wmi.c     |    5 --
 fs/9p/vfs_dir.c             |    1 +
 fs/adfs/dir.c               |    1 +
 fs/affs/dir.c               |    1 +
 fs/autofs4/root.c           |    2 +
 fs/befs/linuxvfs.c          |    1 +
 fs/compat.c                 |    8 +++-
 fs/dcache.c                 |    2 +-
 fs/efs/namei.c              |    3 +-
 fs/ntfs/namei.c             |   89 +------------------------------------------
 fs/proc/generic.c           |    1 +
 fs/readdir.c                |    8 +++-
 fs/seq_file.c               |   11 ++++-
 fs/xfs/linux-2.6/xfs_file.c |    1 +
 fs/xfs/linux-2.6/xfs_iops.c |    2 +-
 include/linux/dcache.h      |    2 +-
 18 files changed, 66 insertions(+), 121 deletions(-)

^ permalink raw reply	[flat|nested] 117+ messages in thread

end of thread, other threads:[~2024-04-26 18:10 UTC | newest]

Thread overview: 117+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-02 17:01 [git pull] vfs fixes Al Viro
2017-04-02 23:59 ` Linus Torvalds
2017-04-03  0:10   ` Linus Torvalds
2017-04-03  0:30     ` Al Viro
2017-04-03  0:43       ` Al Viro
2017-04-03  0:58         ` Linus Torvalds
2017-04-03  2:21           ` Al Viro
2017-04-03  6:00             ` Eric W. Biederman
2017-04-03  7:46               ` Al Viro
2017-04-04  0:22               ` Ian Kent
2017-04-04  0:47               ` Ian Kent
2017-04-03  0:20   ` Al Viro
  -- strict thread matches above, loose matches on Subject: below --
2024-04-26 14:59 [GIT PULL] " Christian Brauner
2024-04-26 18:09 ` pr-tracker-bot
2024-04-05 11:22 Christian Brauner
2024-04-05 17:09 ` pr-tracker-bot
2024-03-18 12:19 Christian Brauner
2024-03-18 16:48 ` pr-tracker-bot
2024-03-18 19:14 ` Linus Torvalds
2024-03-18 19:41   ` Linus Torvalds
2024-03-19  6:58     ` Christian Brauner
2024-03-20 10:21       ` Christian Brauner
2024-03-06 15:45 Christian Brauner
2024-03-06 16:33 ` pr-tracker-bot
2024-03-01 12:45 Christian Brauner
2024-03-01 20:37 ` pr-tracker-bot
2024-02-22 14:03 Christian Brauner
2024-02-22 18:18 ` pr-tracker-bot
2024-02-12 13:00 Christian Brauner
2024-02-12 17:03 ` pr-tracker-bot
2024-01-13 12:31 Christian Brauner
2024-01-17 20:03 ` pr-tracker-bot
2023-11-24 10:27 Christian Brauner
2023-11-24 18:25 ` Linus Torvalds
2023-11-24 18:52   ` Linus Torvalds
2023-11-24 20:12     ` Linus Torvalds
2023-11-25 13:05       ` Christian Brauner
2023-11-25 13:10   ` Christian Brauner
2023-11-25 13:28     ` Omar Sandoval
2023-11-25 14:04       ` Christian Brauner
2023-11-24 18:26 ` pr-tracker-bot
2023-10-19 10:07 Christian Brauner
2023-10-19 16:37 ` Linus Torvalds
2023-10-20 11:14   ` Christian Brauner
2023-10-19 18:36 ` pr-tracker-bot
2023-09-26 10:39 Christian Brauner
2023-09-26 16:14 ` pr-tracker-bot
2023-07-06 11:52 Christian Brauner
2023-07-07  2:27 ` pr-tracker-bot
2023-07-02 11:28 Christian Brauner
2023-07-02 18:53 ` pr-tracker-bot
2023-05-25 12:22 Christian Brauner
2023-05-25 18:18 ` pr-tracker-bot
2023-05-12 15:31 Christian Brauner
2023-05-12 22:14 ` pr-tracker-bot
2023-04-03 11:04 Christian Brauner
2023-04-03 16:51 ` pr-tracker-bot
2023-03-12 12:18 Christian Brauner
2023-03-12 16:20 ` pr-tracker-bot
2020-09-22 21:29 [git pull] " Al Viro
2020-09-22 22:15 ` pr-tracker-bot
     [not found] <CAHk-=wgdsv1UA+QtgiJM8KQAG7N7_9iK_edchnzZYyj+nxmfLA@mail.gmail.com>
     [not found] ` <20200113195448.GT8904@ZenIV.linux.org.uk>
     [not found]   ` <CAHk-=whn5qk-e-KnYr6HNe5hp45v+XyDbsA2+szXvK3gC06A2w@mail.gmail.com>
2020-01-15  6:41     ` Al Viro
2020-01-15 19:35       ` pr-tracker-bot
2018-07-01 12:31 Al Viro
2018-07-01 19:36 ` Linus Torvalds
2018-07-01 20:05   ` Al Viro
2018-07-01 20:25     ` Linus Torvalds
2018-04-20 15:58 Al Viro
2018-04-20 18:29 ` Andrew Morton
2018-04-20 19:09   ` Al Viro
2018-04-20 19:57     ` Andrew Morton
2017-06-17  2:56 Al Viro
2017-04-09  5:40 Al Viro
2017-04-11  6:10 ` Linus Torvalds
2017-04-11  6:48   ` Al Viro
2017-04-11 21:02     ` Andreas Dilger
2017-04-12  7:00       ` Linus Torvalds
2017-04-15  6:41 ` Vegard Nossum
2017-04-15 16:51   ` Linus Torvalds
2017-04-15 17:08     ` Al Viro
2016-06-17 20:50 Q. hlist_bl_add_head_rcu() in d_alloc_parallel() J. R. Okajima
2016-06-17 22:16 ` Al Viro
2016-06-19  5:24   ` J. R. Okajima
2016-06-19 16:55     ` Al Viro
2016-06-20  4:34       ` J. R. Okajima
2016-06-20  5:35         ` Al Viro
2016-06-20 14:51           ` Al Viro
2016-06-20 17:14             ` [git pull] vfs fixes Al Viro
2016-06-08  2:12 Al Viro
2016-05-28  0:10 Al Viro
2016-02-28  1:09 Al Viro
2014-09-14 19:47 Al Viro
2014-09-26 20:38 ` Joachim Eastwood
2014-09-26 20:46 ` Joachim Eastwood
2014-09-26 20:58   ` Al Viro
2014-09-26 21:28     ` Joachim Eastwood
2014-09-26 21:52       ` Joachim Eastwood
2014-03-24 22:58 Imre Deak
2014-03-25  7:21 ` Sedat Dilek
2014-03-23  7:16 Al Viro
2014-03-23 10:57 ` Sedat Dilek
2014-03-23 15:35   ` Al Viro
2014-03-23 16:56     ` Al Viro
2014-03-23 16:36 ` Linus Torvalds
2014-03-23 16:45   ` Al Viro
2014-03-23 17:01     ` Linus Torvalds
2014-03-24  8:52       ` Sedat Dilek
2014-03-25  0:46         ` Linus Torvalds
2014-03-26 16:36           ` Sedat Dilek
2014-03-26 20:55             ` Linus Torvalds
2014-03-27  6:14               ` Sedat Dilek
2014-03-30 20:33               ` Al Viro
2014-03-30 20:55                 ` Al Viro
2014-03-30 22:39                   ` Linus Torvalds
2014-03-30 23:21                     ` Al Viro
2013-06-22  7:16 Al Viro
2013-03-27  0:36 Al Viro
2012-03-10 21:30 Al Viro
2012-03-10 21:49 ` Linus Torvalds
2012-03-10 22:14   ` Al Viro
2010-01-29  2:39 Al Viro
2010-01-17  7:57 Al Viro
2008-08-25  5:25 Al Viro
2008-08-25  5:29 ` Al Viro

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.