linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] Don't block writes to swap-files with ETXTBSY.
       [not found] <162993585927.7591.10174443410031404560@noble.neil.brown.name>
@ 2021-08-27 15:16 ` Christoph Hellwig
  2021-08-27 23:10   ` NeilBrown
  0 siblings, 1 reply; 3+ messages in thread
From: Christoph Hellwig @ 2021-08-27 15:16 UTC (permalink / raw)
  To: NeilBrown
  Cc: Darrick J. Wong, Christoph Hellwig, David Howells, torvalds,
	trond.myklebust, linux-nfs, linux-mm, linux-fsdevel,
	linux-kernel

On Thu, Aug 26, 2021 at 09:57:39AM +1000, NeilBrown wrote:
> 
> Commit dc617f29dbe5 ("vfs: don't allow writes to swap files")
> broke swap-over-NFS as it introduced an ETXTBSY error when NFS tries to
> swap-out using ->direct_IO().
> 
> There is no sound justification for this error.  File permissions are
> sufficient to stop non-root users from writing to a swap file, and root
> must always be cautious not to do anything dangerous.
> 
> These checks effectively provide a mandatory write lock on swap, and
> mandatory locks are not supported in Linux.
> 
> So remove all the checks that return ETXTBSY when attempts are made to
> write to swap.

Swap files are not just any files and do need a mandatory write lock
as they are part of the kernel VM and writing to them will mess up
the kernel badly.  David Howells actually has sent various patches
to fix swap over NFS in the last weeks.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Don't block writes to swap-files with ETXTBSY.
  2021-08-27 15:16 ` [PATCH] Don't block writes to swap-files with ETXTBSY Christoph Hellwig
@ 2021-08-27 23:10   ` NeilBrown
  2021-08-28  7:10     ` Christoph Hellwig
  0 siblings, 1 reply; 3+ messages in thread
From: NeilBrown @ 2021-08-27 23:10 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Darrick J. Wong, Christoph Hellwig, David Howells, torvalds,
	trond.myklebust, linux-nfs, linux-mm, linux-fsdevel,
	linux-kernel

On Sat, 28 Aug 2021, Christoph Hellwig wrote:
> On Thu, Aug 26, 2021 at 09:57:39AM +1000, NeilBrown wrote:
> > 
> > Commit dc617f29dbe5 ("vfs: don't allow writes to swap files")
> > broke swap-over-NFS as it introduced an ETXTBSY error when NFS tries to
> > swap-out using ->direct_IO().
> > 
> > There is no sound justification for this error.  File permissions are
> > sufficient to stop non-root users from writing to a swap file, and root
> > must always be cautious not to do anything dangerous.
> > 
> > These checks effectively provide a mandatory write lock on swap, and
> > mandatory locks are not supported in Linux.
> > 
> > So remove all the checks that return ETXTBSY when attempts are made to
> > write to swap.
> 
> Swap files are not just any files and do need a mandatory write lock
> as they are part of the kernel VM and writing to them will mess up
> the kernel badly.  David Howells actually has sent various patches
> to fix swap over NFS in the last weeks.
> 
> 
There are lots of different things root can do which will mess up the
kernel badly.  The backing-store can still be changed through some other
means.
Do you have a particular threat or risk scenario other than "root might
get careless"?

Yes, I've seen David's patches.  I posted this one because I think the
original patch which broke swap-over-NFS was not just unfortunate, but
wrong.  Permissions are how we protect files, not ETXTBSY.

NeilBrown

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Don't block writes to swap-files with ETXTBSY.
  2021-08-27 23:10   ` NeilBrown
@ 2021-08-28  7:10     ` Christoph Hellwig
  0 siblings, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2021-08-28  7:10 UTC (permalink / raw)
  To: NeilBrown
  Cc: Christoph Hellwig, Darrick J. Wong, David Howells, torvalds,
	trond.myklebust, linux-nfs, linux-mm, linux-fsdevel,
	linux-kernel

On Sat, Aug 28, 2021 at 09:10:15AM +1000, NeilBrown wrote:
> There are lots of different things root can do which will mess up the
> kernel badly.  The backing-store can still be changed through some other
> means.
> Do you have a particular threat or risk scenario other than "root might
> get careless"?

No, it is just that scenario.  But one that is much easier to trigger
than more convoluted ways for a root user to trigger damage through
device files, and one that can't be prevented through LSMs or the
capability system.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-08-28  7:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <162993585927.7591.10174443410031404560@noble.neil.brown.name>
2021-08-27 15:16 ` [PATCH] Don't block writes to swap-files with ETXTBSY Christoph Hellwig
2021-08-27 23:10   ` NeilBrown
2021-08-28  7:10     ` Christoph Hellwig

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