From: Lee Jones <lee.jones@linaro.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH -v4] ext4: don't BUG if kernel subsystems dirty pages without asking ext4 first
Date: Thu, 3 Mar 2022 09:21:20 +0000 [thread overview]
Message-ID: <YiCIkNci2V3IBRme@google.com> (raw)
In-Reply-To: <YiBDf7XLnTe4Gwis@mit.edu>
On Wed, 02 Mar 2022, Theodore Ts'o wrote:
> [un]pin_user_pages_remote is dirtying pages without properly warning
> the file system in advance. A related race was noted by Jan Kara in
> 2018[1]; however, more recently instead of it being a very hard-to-hit
> race, it could be reliably triggered by process_vm_writev(2) which was
> discovered by Syzbot[2].
>
> This is technically a bug in mm/gup.c, but arguably ext4 is fragile in
> that if some other kernel subsystem dirty pages without properly
> notifying the file system using page_mkwrite(), ext4 will BUG, while
> other file systems will not BUG (although data will still be lost).
>
> So instead of crashing with a BUG, issue a warning (since there may be
> potential data loss) and just mark the page as clean to avoid
> unprivileged denial of service attacks until the problem can be
> properly fixed. More discussion and background can be found in the
> thread starting at [2].
>
> [1] https://lore.kernel.org/linux-mm/20180103100430.GE4911 at quack2.suse.cz
> [2] https://lore.kernel.org/r/Yg0m6IjcNmfaSokM at google.com
>
> Reported-by: syzbot+d59332e2db681cf18f0318a06e994ebbb529a8db at syzkaller.appspotmail.com
> Reported-by: Lee Jones <lee.jones@linaro.org>
> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
> Cc: stable at kernel.org
> ---
> v4 - only changes to the commit description to eliminate some inaccuracies
> and clarify the text.
>
> fs/ext4/inode.c | 27 ++++++++++++++++++++++++++-
> 1 file changed, 26 insertions(+), 1 deletion(-)
Thanks a bunch for sticking with this Ted.
I've been following along with great interest.
Sadly I am not in a position to provide a review.
Just wanted to pop by and say thank you.
--
Lee Jones [???]
Principal Technical Lead - Developer Services
Linaro.org ? Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2022-03-03 9:21 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-16 16:31 [Cluster-devel] [REPORT] kernel BUG at fs/ext4/inode.c:2620 - page_buffers() Lee Jones
2022-02-18 1:06 ` John Hubbard
2022-02-18 4:08 ` Theodore Ts'o
2022-02-18 6:33 ` John Hubbard
2022-02-23 23:31 ` Theodore Ts'o
2022-02-24 0:44 ` John Hubbard
2022-02-24 4:04 ` Theodore Ts'o
2022-02-18 7:51 ` Greg Kroah-Hartman
2022-02-23 23:35 ` Theodore Ts'o
2022-02-24 1:48 ` Dave Chinner
2022-02-24 3:50 ` Theodore Ts'o
2022-02-24 10:29 ` Dave Chinner
2022-02-18 2:54 ` Theodore Ts'o
2022-02-18 4:24 ` Matthew Wilcox
2022-02-18 6:03 ` Theodore Ts'o
2022-02-25 19:24 ` [Cluster-devel] [PATCH -v2] ext4: don't BUG if kernel subsystems dirty pages without asking ext4 first Theodore Ts'o
2022-02-25 20:51 ` Eric Biggers
2022-02-25 21:08 ` Theodore Ts'o
2022-02-25 21:23 ` [Cluster-devel] [PATCH -v3] " Theodore Ts'o
2022-02-25 21:33 ` John Hubbard
2022-02-25 23:21 ` Theodore Ts'o
2022-02-26 0:41 ` John Hubbard
2022-02-26 1:40 ` Theodore Ts'o
2022-02-26 2:00 ` Theodore Ts'o
2022-02-26 2:55 ` John Hubbard
2022-03-03 4:26 ` [Cluster-devel] [PATCH -v4] " Theodore Ts'o
2022-03-03 8:21 ` Christoph Hellwig
2022-03-03 9:21 ` Lee Jones [this message]
2022-03-03 14:38 ` [Cluster-devel] [PATCH -v5] ext4: don't BUG if someone " Theodore Ts'o
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=YiCIkNci2V3IBRme@google.com \
--to=lee.jones@linaro.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).