public inbox for linux-fsdevel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: "Guilherme G. Piccoli" <gpiccoli@igalia.com>
Cc: linux-doc@vger.kernel.org, corbet@lwn.net, jack@suse.cz,
	linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org,
	kernel-dev@igalia.com, kernel@gpiccoli.net
Subject: Re: [PATCH] Documentation: Document the kernel flag bdev_allow_write_mounted
Date: Thu, 22 Aug 2024 18:27:10 -0700	[thread overview]
Message-ID: <20240823012710.GY6082@frogsfrogsfrogs> (raw)
In-Reply-To: <170545d7-3fa5-f52a-1250-dfe0a0fff93c@igalia.com>

On Tue, Aug 20, 2024 at 03:42:53PM -0300, Guilherme G. Piccoli wrote:
> On 20/08/2024 13:23, Darrick J. Wong wrote:
> > [...]
> >> +	bdev_allow_write_mounted=
> >> +			Format: <bool>
> >> +			Control the ability of directly writing to mounted block
> >> +			devices' page cache, i.e., allow / disallow writes that
> >> +			bypasses the FS. This was implemented as a means to
> >> +			prevent fuzzers to crash the kernel by breaking the
> >> +			filesystem without its awareness, through direct block
> >> +			device writes. Default is Y and can be changed through
> >> +			the Kconfig option CONFIG_BLK_DEV_WRITE_MOUNTED.
> > 
> > Can we mention that this also solves the problem of naïve storage
> > management tools (aka the ones that don't use O_EXCL) writing over a
> > mounted filesystem and trashing it?
> > 
> > --D
> 
> 
> Sure! At least from my side, fine with that.
> How about the following string ?
> 
> + Control the ability of directly writing to mounted block
> + devices' page cache, i.e., allow / disallow writes that
> + bypasses the FS. This was implemented as a means to
> + prevent fuzzers to crash the kernel by breaking the

                "...from crashing the kernel by overwriting
the metadata underneath a mounted filesystem without its awareness."

> + filesystem without its awareness, through direct block
> + device writes. Also prevents issues from direct writes

You can do it with buffered writes to the block device pagecache too.

"This also prevents destructive formatting of mounted filesystems by
naïve storage tooling that don't use O_EXCL."

--D

> + of silly storage tooling (that doesn't use O_EXCL). The
> + default is Y and can be changed through the Kconfig
> + option CONFIG_BLK_DEV_WRITE_MOUNTED.
> 
> 
> But feel free to improve / change it. I'll wait more feedback and
> resubmit with a refined text.
> Cheers,
> 
> 
> Guilherme

  reply	other threads:[~2024-08-23  1:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-19 22:56 [PATCH] Documentation: Document the kernel flag bdev_allow_write_mounted Guilherme G. Piccoli
2024-08-20 16:23 ` Darrick J. Wong
2024-08-20 18:42   ` Guilherme G. Piccoli
2024-08-23  1:27     ` Darrick J. Wong [this message]
2024-08-23 14:29       ` Guilherme G. Piccoli

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=20240823012710.GY6082@frogsfrogsfrogs \
    --to=djwong@kernel.org \
    --cc=corbet@lwn.net \
    --cc=gpiccoli@igalia.com \
    --cc=jack@suse.cz \
    --cc=kernel-dev@igalia.com \
    --cc=kernel@gpiccoli.net \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.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