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: Mon, 17 Feb 2025 11:37:00 +0100 [thread overview]
Message-ID: <20250217-vfs-fixes-f47d095c551e@brauner> (raw)
Hey Linus,
/* Summary */
This contains various fixes for this cycle:
- It was reported that the acct(2) system call can be used to trigger a
NULL deref in cases where it is set to write to a file that triggers
an internal lookup.
This can e.g., happen when pointing acct(2) to /sys/power/resume. At
the point the where the write to this file happens the calling task
has already exited and called exit_fs() but an internal lookup might
be triggered through lookup_bdev(). This may trigger a NULL-deref when
accessing current->fs.
Reorganize the code so that the the final write happens from the
workqueue but with the caller's credentials. This preserves the
(strange) permission model and has almost no regression risk.
Also block access to kernel internal filesystems as well as procfs and
sysfs in the first place.
- Various fixes for netfslib:
- Fix a number of read-retry hangs, including:
- Incorrect getting/putting of references on subreqs as we
retry them.
- Failure to track whether a last old subrequest in a retried
set is superfluous.
- Inconsistency in the usage of wait queues used for subrequests
(ie. using clear_and_wake_up_bit() whilst waiting on a private
waitqueue).
- Add stats counters for retries and publish in /proc/fs/netfs/stats.
This is not a fix per se, but is useful in debugging and shouldn't
otherwise change the operation of the code.
- Fix the ordering of queuing subrequests with respect to setting the
request flag that says we've now queued them all.
/* Testing */
gcc version (Debian 14.2.0-8) 14.2.0
Debian clang version 19.1.4 (1)
No build failures or warnings were observed.
/* Conflicts */
Merge conflicts with mainline
=============================
No known conflicts.
Merge conflicts with other trees
================================
No known conflicts.
The following changes since commit a64dcfb451e254085a7daee5fe51bf22959d52d3:
Linux 6.14-rc2 (2025-02-09 12:45:03 -0800)
are available in the Git repository at:
git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.14-rc4.fixes
for you to fetch changes up to a33f72554adf4552e53af3784cebfc4f2886c396:
Merge patch series "netfs: Miscellaneous fixes" (2025-02-13 16:00:53 +0100)
Please consider pulling these changes from the signed vfs-6.14-rc4.fixes tag.
Thanks!
Christian
----------------------------------------------------------------
vfs-6.14-rc4.fixes
----------------------------------------------------------------
Christian Brauner (4):
acct: perform last write from workqueue
acct: block access to kernel internal filesystems
Merge patch series "acct: don't allow access to internal filesystems"
Merge patch series "netfs: Miscellaneous fixes"
David Howells (3):
netfs: Fix a number of read-retry hangs
netfs: Add retry stat counters
netfs: Fix setting NETFS_RREQ_ALL_QUEUED to be after all subreqs queued
fs/netfs/buffered_read.c | 19 ++++--
fs/netfs/internal.h | 4 ++
fs/netfs/read_collect.c | 6 +-
fs/netfs/read_retry.c | 43 ++++++++++----
fs/netfs/stats.c | 9 +++
fs/netfs/write_issue.c | 1 +
fs/netfs/write_retry.c | 2 +
include/linux/netfs.h | 2 +-
include/trace/events/netfs.h | 4 +-
kernel/acct.c | 134 +++++++++++++++++++++++++++----------------
10 files changed, 154 insertions(+), 70 deletions(-)
next reply other threads:[~2025-02-17 10:37 UTC|newest]
Thread overview: 191+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-17 10:37 Christian Brauner [this message]
2025-02-17 18:44 ` [GIT PULL] vfs fixes pr-tracker-bot
-- strict thread matches above, loose matches on Subject: below --
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-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-11 5:09 Christian Brauner
2024-07-11 19:24 ` 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-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
[not found] <13136.1466196630@jrobl>
[not found] ` <20160617221614.GE14480@ZenIV.linux.org.uk>
[not found] ` <2123.1466313884@jrobl>
[not found] ` <20160619165557.GH14480@ZenIV.linux.org.uk>
[not found] ` <28627.1466397254@jrobl>
[not found] ` <20160620053530.GI14480@ZenIV.linux.org.uk>
[not found] ` <20160620145125.GL14480@ZenIV.linux.org.uk>
2016-06-20 17:14 ` 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=20250217-vfs-fixes-f47d095c551e@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).