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(-)
next 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.