All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] vfs fixes
Date: Thu, 11 Jul 2024 07:09:27 +0200	[thread overview]
Message-ID: <20240711-vfs-fixes-b2bdd616763d@brauner> (raw)

/* Summary */
This contains fixes for this merge window:

cachefiles:
- Export an existing and add a new cachefile helper to be used in filesystems
  to fix reference count bugs.
- Use the newly added fscache_ty_get_volume() helper to get a reference count
  on an fscache_volume to handle volumes that are about to be removed cleanly.
- After withdrawing a fscache_cache via FSCACHE_CACHE_IS_WITHDRAWN wait for all
  ongoing cookie lookups to complete and for the object count to reach zero.
- Propagate errors from vfs_getxattr() to avoid an infinite loop in
  cachefiles_check_volume_xattr() because it keeps seeing ESTALE.
- Don't send new requests when an object is dropped by raising
  CACHEFILES_ONDEMAND_OJBSTATE_DROPPING.
- Cancel all requests for an object that is about to be dropped.
- Wait for the ondemand_boject_worker to finish before dropping a cachefiles
  object to prevent use-after-free.
- Use cyclic allocation for message ids to better handle id recycling.
- Add missing lock protection when iterating through the xarray when polling.

netfs:
- Use standard logging helpers for debug logging.

VFS:
- Fix potential use-after-free in file locks during trace_posix_lock_inode().
  The tracepoint could fire while another task raced it and freed the lock that
  was requested to be traced.
- Only increment the nr_dentry_negative counter for dentries that are present
  on the superblock LRU. Currently, DCACHE_LRU_LIST list is used to detect this
  case. However, the flag is also raised in combination with DCACHE_SHRINK_LIST
  to indicate that dentry->d_lru is used. So checking only DCACHE_LRU_LIST will
  lead to wrong nr_dentry_negative count. Fix the check to not count dentries
  that are on a shrink related list.

Misc:
- hfsplus: fix an uninitialized value issue in copy_name.
- minix: fix minixfs_rename with HIGHMEM. It still uses kunmap() even though we
  switched it to kmap_local_page() a while ago.

/* Testing */
clang: Debian clang version 16.0.6 (27)
gcc: (Debian 13.2.0-25) 13.2.0

All patches are based on v6.10-rc6. No build failures or warnings were observed.

/* Conflicts */
No known conflicts.

The following changes since commit 22a40d14b572deb80c0648557f4bd502d7e83826:

  Linux 6.10-rc6 (2024-06-30 14:40:44 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.10-rc8.fixes

for you to fetch changes up to 3d1bec293378700dddc087d4d862306702276c23:

  minixfs: Fix minixfs_rename with HIGHMEM (2024-07-10 07:15:36 +0200)

Please consider pulling these changes from the signed vfs-6.10-rc8.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.10-rc8.fixes

----------------------------------------------------------------
Baokun Li (7):
      netfs, fscache: export fscache_put_volume() and add fscache_try_get_volume()
      cachefiles: fix slab-use-after-free in fscache_withdraw_volume()
      cachefiles: fix slab-use-after-free in cachefiles_withdraw_cookie()
      cachefiles: propagate errors from vfs_getxattr() to avoid infinite loop
      cachefiles: stop sending new request when dropping object
      cachefiles: cancel all requests for the object that is being dropped
      cachefiles: cyclic allocation of msg_id to avoid reuse

Brian Foster (1):
      vfs: don't mod negative dentry count when on shrinker list

Christian Brauner (1):
      Merge patch series "cachefiles: random bugfixes"

Edward Adam Davis (1):
      hfsplus: fix uninit-value in copy_name

Hou Tao (1):
      cachefiles: wait for ondemand_object_worker to finish when dropping object

Jeff Layton (1):
      filelock: fix potential use-after-free in posix_lock_inode

Jingbo Xu (1):
      cachefiles: add missing lock protection when polling

Matthew Wilcox (Oracle) (1):
      minixfs: Fix minixfs_rename with HIGHMEM

Uwe Kleine-König (1):
      netfs: Switch debug logging to pr_debug()

 fs/cachefiles/cache.c          | 45 +++++++++++++++++++++++++++++++++++-
 fs/cachefiles/daemon.c         |  4 ++--
 fs/cachefiles/internal.h       |  3 +++
 fs/cachefiles/ondemand.c       | 52 +++++++++++++++++++++++++++++++++++++-----
 fs/cachefiles/volume.c         |  1 -
 fs/cachefiles/xattr.c          |  5 +++-
 fs/dcache.c                    | 12 +++++++---
 fs/hfsplus/xattr.c             |  2 +-
 fs/locks.c                     |  2 +-
 fs/minix/namei.c               |  3 +--
 fs/netfs/buffered_read.c       | 14 ++++++------
 fs/netfs/buffered_write.c      | 12 +++++-----
 fs/netfs/direct_read.c         |  2 +-
 fs/netfs/direct_write.c        |  8 +++----
 fs/netfs/fscache_cache.c       |  4 ++--
 fs/netfs/fscache_cookie.c      | 28 +++++++++++------------
 fs/netfs/fscache_io.c          | 12 +++++-----
 fs/netfs/fscache_main.c        |  2 +-
 fs/netfs/fscache_volume.c      | 18 +++++++++++++--
 fs/netfs/internal.h            | 35 +---------------------------
 fs/netfs/io.c                  | 12 +++++-----
 fs/netfs/main.c                |  4 ----
 fs/netfs/misc.c                |  4 ++--
 fs/netfs/write_collect.c       | 16 ++++++-------
 fs/netfs/write_issue.c         | 36 ++++++++++++++---------------
 include/linux/fscache-cache.h  |  6 +++++
 include/trace/events/fscache.h |  4 ++++
 27 files changed, 213 insertions(+), 133 deletions(-)

             reply	other threads:[~2024-07-11  5:09 UTC|newest]

Thread overview: 210+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-11  5:09 Christian Brauner [this message]
2024-07-11 19:24 ` [GIT PULL] vfs fixes pr-tracker-bot
  -- strict thread matches above, loose matches on Subject: below --
2026-01-26 10:49 Christian Brauner
2026-01-26 18:26 ` pr-tracker-bot
2026-01-09 10:39 Christian Brauner
2026-01-09 16:40 ` pr-tracker-bot
2025-12-05 13:36 Christian Brauner
2025-12-06  0:17 ` pr-tracker-bot
2025-12-06  0:17 ` Linus Torvalds
2025-11-28 16:46 Christian Brauner
2025-11-28 21:15 ` pr-tracker-bot
2025-11-17 15:53 Christian Brauner
2025-11-17 17:52 ` pr-tracker-bot
2025-10-15 19:34 Christian Brauner
2025-10-15 22:30 ` pr-tracker-bot
2025-09-26 10:39 Christian Brauner
2025-09-26 20:44 ` pr-tracker-bot
2025-09-08  9:45 Christian Brauner
2025-09-08 14:58 ` Linus Torvalds
2025-09-08 15:41 ` pr-tracker-bot
2025-08-19 12:46 Christian Brauner
2025-08-19 17:33 ` pr-tracker-bot
2025-07-25  8:54 Christian Brauner
2025-07-25 15:39 ` pr-tracker-bot
2025-07-19 10:59 Christian Brauner
2025-07-19 18:29 ` pr-tracker-bot
2025-07-04  8:36 Christian Brauner
2025-07-04 17:36 ` pr-tracker-bot
2025-06-16  8:20 Christian Brauner
2025-06-16 16:12 ` pr-tracker-bot
2025-06-02  9:02 Christian Brauner
2025-06-02 22:58 ` pr-tracker-bot
2025-05-23 10:26 Christian Brauner
2025-05-23 14:56 ` pr-tracker-bot
2025-05-12 11:01 Christian Brauner
2025-05-13  3:33 ` pr-tracker-bot
2025-04-25 21:22 Christian Brauner
2025-04-25 23:35 ` pr-tracker-bot
2025-04-19 21:04 Christian Brauner
2025-04-19 21:38 ` pr-tracker-bot
2025-04-14 10:44 Christian Brauner
2025-04-14 17:41 ` pr-tracker-bot
2025-04-02 15:46 Christian Brauner
2025-04-03  0:11 ` pr-tracker-bot
2025-03-20 15:22 Christian Brauner
2025-03-20 21:21 ` pr-tracker-bot
2025-03-13  9:13 Christian Brauner
2025-03-13 19:04 ` pr-tracker-bot
2025-03-06 10:13 Christian Brauner
2025-03-06 18:20 ` pr-tracker-bot
2025-02-25 11:51 Christian Brauner
2025-02-25 17:52 ` pr-tracker-bot
2025-02-17 10:37 Christian Brauner
2025-02-17 18:44 ` pr-tracker-bot
2025-02-07 10:52 Christian Brauner
2025-02-07 22:25 ` pr-tracker-bot
2025-01-10 15:16 Christian Brauner
2025-01-10 18:12 ` pr-tracker-bot
2025-01-06 15:32 Christian Brauner
2025-01-06 18:40 ` pr-tracker-bot
2024-11-27 15:41 Christian Brauner
2024-11-27 16:14 ` Linus Torvalds
2024-11-27 16:15 ` pr-tracker-bot
2024-11-01 12:43 Christian Brauner
2024-11-01 17:48 ` pr-tracker-bot
2024-10-21 11:46 Christian Brauner
2024-10-21 18:27 ` pr-tracker-bot
2024-10-03  9:00 Christian Brauner
2024-10-03 16:53 ` pr-tracker-bot
2024-09-30 13:46 Christian Brauner
2024-09-30 20:21 ` pr-tracker-bot
2024-09-04 12:03 Christian Brauner
2024-09-04 16:46 ` pr-tracker-bot
2024-08-26 15:25 Christian Brauner
2024-08-27  5:04 ` pr-tracker-bot
2024-08-14 13:29 Christian Brauner
2024-08-14 16:28 ` pr-tracker-bot
2024-07-27  9:05 Christian Brauner
2024-07-27 22:37 ` pr-tracker-bot
2024-07-24  9:19 Christian Brauner
2024-07-24 17:19 ` pr-tracker-bot
2024-07-18  9:01 Christian Brauner
2024-07-19  1:04 ` pr-tracker-bot
2024-07-02 19:44 Christian Brauner
2024-07-02 20:56 ` pr-tracker-bot
2024-07-01 11:53 Christian Brauner
2024-07-01 16:49 ` pr-tracker-bot
2024-06-10 14:09 Christian Brauner
2024-06-11 19:15 ` Linus Torvalds
2024-06-12 11:30   ` Christian Brauner
2024-06-11 23:42 ` pr-tracker-bot
2024-05-27 11:55 Christian Brauner
2024-05-27 15:30 ` pr-tracker-bot
2024-04-26 14:59 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
2017-04-02 17:01 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
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

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=20240711-vfs-fixes-b2bdd616763d@brauner \
    --to=brauner@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.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 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.