All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Theodore Ts'o" <tytso@mit.edu>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: David Hildenbrand <david@redhat.com>,
	Lorenzo Stoakes <lstoakes@gmail.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Jens Axboe <axboe@kernel.dk>,
	Matthew Wilcox <willy@infradead.org>,
	Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>,
	Leon Romanovsky <leon@kernel.org>,
	Christian Benvenuti <benve@cisco.com>,
	Nelson Escobar <neescoba@cisco.com>,
	Bernard Metzler <bmt@zurich.ibm.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Ian Rogers <irogers@google.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Bjorn Topel <bjorn@kernel.org>,
	Magnus Karlsson <magnus.karlsson@intel.com>,
	Maciej Fijalkowski <maciej.fijalkowski@intel.com>,
	Jonathan Lemon <jonathan.lemon@gmail.com>,
	"David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Christian Brauner <brauner@kernel.org>,
	Richard Cochran <richardcochran@gmail.com>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Jesper Dangaard Brouer <hawk@kernel.org>,
	John Fastabend <john.fastabend@gmail.com>,
	linux-fsdevel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	netdev@vger.kernel.org, bpf@vger.kernel.org,
	Oleg Nesterov <oleg@redhat.com>,
	John Hubbard <jhubbard@nvidia.com>, Jan Kara <jack@suse.cz>,
	"Kirill A . Shutemov" <kirill@shutemov.name>,
	Pavel Begunkov <asml.silence@gmail.com>,
	Mika Penttila <mpenttil@redhat.com>,
	David Howells <dhowells@redhat.com>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH v5] mm/gup: disallow GUP writing to file-backed mappings by default
Date: Sat, 29 Apr 2023 00:21:09 -0400	[thread overview]
Message-ID: <ZEybNZ7Rev+XM4GU@mit.edu> (raw)
In-Reply-To: <ZEwVbPM2OPSeY21R@nvidia.com>

On Fri, Apr 28, 2023 at 03:50:20PM -0300, Jason Gunthorpe wrote:
> > Do we think we can still trigger a kernel crash, or maybe even some
> > more exciting like an arbitrary buffer overrun, via the
> > process_vm_writev(2) system call into a file-backed mmap'ed region?

I paged back into my memory the details, and (un)fortunately(?) it
probably can't be turned into high severity security exploit; it's
"just" a silent case of data loss.  (Which is *so* much better.... :-)

There was a reliable reproducer which was found by Syzkaller, that
didn't require any kind of exotic hardware or setup[1], and we
ultimately kluged a workaround in commit cc5095747edf ("ext4: don't
BUG if someone dirty pages without asking ext4 first").

[1] https://lore.kernel.org/all/Yg0m6IjcNmfaSokM@google.com/

Commit cc5095747edf had the (un)fortunate(?) side effect that GUP
writes to ext4 file-backed mappings no longer would cause random
low-probability crashes on large installations using RDMA, which has
apparently removed some of the motivation of really fixing the problem
instead of papering over it.  The good news is that I'm no longer
getting complaints from syzbot for this issue, and *I* don't have to
support anyone trying to use RDMA into file-backed mappings.  :-)

In any case, the file system maintainers' position (mine and I doubt
Dave Chinner's position has changed) is that if you write to
file-backed mappings via GUP/RDMA/process_vm_writev, and it causes
silent data corruption, you get to keep both pieces, and don't go
looking for us for anything other than sympathy...

						- Ted

  reply	other threads:[~2023-04-29  4:23 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-27 23:42 [PATCH v5] mm/gup: disallow GUP writing to file-backed mappings by default Lorenzo Stoakes
2023-04-28  2:06 ` John Hubbard
2023-04-28  4:21 ` Mika Penttilä
2023-04-28 11:51 ` Jan Kara
2023-04-28 11:59 ` Lorenzo Stoakes
2023-04-28 13:17 ` Jason Gunthorpe
2023-04-28 14:20 ` David Hildenbrand
2023-04-28 14:35   ` Jason Gunthorpe
2023-04-28 15:08     ` David Hildenbrand
2023-04-28 15:23       ` David Hildenbrand
2023-04-28 15:33         ` Lorenzo Stoakes
2023-04-28 15:34           ` David Hildenbrand
2023-04-28 15:43             ` David Hildenbrand
2023-04-28 16:09               ` Kirill A . Shutemov
2023-04-28 16:13                 ` David Hildenbrand
2023-04-28 16:22                   ` Kirill A . Shutemov
2023-04-28 16:39                     ` Peter Xu
2023-04-28 16:51                       ` David Hildenbrand
2023-04-28 16:56                         ` Kirill A . Shutemov
2023-04-28 17:01                           ` Lorenzo Stoakes
2023-04-28 17:02                           ` David Hildenbrand
2023-04-28 17:31                             ` Jason Gunthorpe
2023-04-28 17:42                               ` Lorenzo Stoakes
2023-04-28 17:49                                 ` Jason Gunthorpe
2023-04-28 23:43                             ` Kirill A . Shutemov
2023-05-02  8:00                               ` Jan Kara
2023-05-02  8:39                                 ` Peter Zijlstra
2023-04-28 17:01                         ` Lorenzo Stoakes
2023-04-28 17:05                           ` David Hildenbrand
2023-04-28 17:13                             ` Lorenzo Stoakes
2023-04-28 17:29                               ` David Hildenbrand
2023-04-28 18:26                                 ` John Hubbard
2023-04-28 15:56             ` Peter Xu
2023-04-28 16:02               ` David Hildenbrand
2023-04-28 17:33               ` Jason Gunthorpe
2023-04-28 18:26                 ` John Hubbard
2023-04-28 15:27       ` Jason Gunthorpe
2023-04-28 15:41         ` David Hildenbrand
2023-04-28 18:25     ` Theodore Ts'o
2023-04-28 18:50       ` Jason Gunthorpe
2023-04-29  4:21         ` Theodore Ts'o [this message]
2023-04-29 23:01           ` Jason Gunthorpe
2023-04-29 23:09             ` Lorenzo Stoakes
2023-05-01  7:27             ` Dave Chinner
2023-05-01 12:39               ` Jason Gunthorpe
2023-04-28 14:55   ` Lorenzo Stoakes
2023-04-28 15:13     ` David Hildenbrand
2023-04-28 15:15       ` Jens Axboe
2023-04-28 15:27         ` Lorenzo Stoakes
2023-04-28 15:24       ` Lorenzo Stoakes
2023-04-28 15:33         ` David Hildenbrand
2023-04-28 15:50           ` Lorenzo Stoakes
2023-04-28 16:00             ` David Hildenbrand

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=ZEybNZ7Rev+XM4GU@mit.edu \
    --to=tytso@mit.edu \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=asml.silence@gmail.com \
    --cc=ast@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=benve@cisco.com \
    --cc=bjorn@kernel.org \
    --cc=bmt@zurich.ibm.com \
    --cc=bpf@vger.kernel.org \
    --cc=brauner@kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=david@redhat.com \
    --cc=dennis.dalessandro@cornelisnetworks.com \
    --cc=dhowells@redhat.com \
    --cc=edumazet@google.com \
    --cc=hawk@kernel.org \
    --cc=hch@lst.de \
    --cc=irogers@google.com \
    --cc=jack@suse.cz \
    --cc=jgg@nvidia.com \
    --cc=jhubbard@nvidia.com \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=jonathan.lemon@gmail.com \
    --cc=kirill@shutemov.name \
    --cc=kuba@kernel.org \
    --cc=leon@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=lstoakes@gmail.com \
    --cc=maciej.fijalkowski@intel.com \
    --cc=magnus.karlsson@intel.com \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=mpenttil@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=neescoba@cisco.com \
    --cc=netdev@vger.kernel.org \
    --cc=oleg@redhat.com \
    --cc=pabeni@redhat.com \
    --cc=peterz@infradead.org \
    --cc=richardcochran@gmail.com \
    --cc=willy@infradead.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.