linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V3] Documentation: Document the kernel flag bdev_allow_write_mounted
@ 2024-08-23 18:05 Guilherme G. Piccoli
  2024-08-23 18:17 ` Jens Axboe
  0 siblings, 1 reply; 4+ messages in thread
From: Guilherme G. Piccoli @ 2024-08-23 18:05 UTC (permalink / raw)
  To: linux-doc
  Cc: corbet, linux-fsdevel, linux-block, kernel-dev, kernel,
	Guilherme G. Piccoli, Bart Van Assche, Darrick J. Wong, Jan Kara

Commit ed5cc702d311 ("block: Add config option to not allow writing to mounted
devices") added a Kconfig option along with a kernel command-line tuning to
control writes to mounted block devices, as a means to deal with fuzzers like
Syzkaller, that provokes kernel crashes by directly writing on block devices
bypassing the filesystem (so the FS has no awareness and cannot cope with that).

The patch just missed adding such kernel command-line option to the kernel
documentation, so let's fix that.

Cc: Bart Van Assche <bvanassche@acm.org>
Cc: Darrick J. Wong <djwong@kernel.org>
Cc: Jan Kara <jack@suse.cz>
Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
---

V3: Dropped reference to page cache (thanks Bart!).

V2 link: https://lore.kernel.org/r/20240823142840.63234-1-gpiccoli@igalia.com


 Documentation/admin-guide/kernel-parameters.txt | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 09126bb8cc9f..58b9455baf4a 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -517,6 +517,18 @@
 			Format: <io>,<irq>,<mode>
 			See header of drivers/net/hamradio/baycom_ser_hdx.c.
 
+	bdev_allow_write_mounted=
+			Format: <bool>
+			Control the ability of directly writing to mounted block
+			devices, i.e., allow / disallow writes that bypasses the
+			FS. This was implemented as a means to prevent fuzzers
+			from crashing the kernel by overwriting the metadata
+			underneath a mounted FS without its awareness. This
+			also prevents destructive formatting of mounted
+			filesystems by naive storage tooling that don't use
+			O_EXCL. Default is Y and can be changed through the
+			Kconfig option CONFIG_BLK_DEV_WRITE_MOUNTED.
+
 	bert_disable	[ACPI]
 			Disable BERT OS support on buggy BIOSes.
 
-- 
2.46.0


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

* Re: [PATCH V3] Documentation: Document the kernel flag bdev_allow_write_mounted
  2024-08-23 18:05 [PATCH V3] Documentation: Document the kernel flag bdev_allow_write_mounted Guilherme G. Piccoli
@ 2024-08-23 18:17 ` Jens Axboe
  2024-08-23 18:42   ` Darrick J. Wong
  0 siblings, 1 reply; 4+ messages in thread
From: Jens Axboe @ 2024-08-23 18:17 UTC (permalink / raw)
  To: Guilherme G. Piccoli, linux-doc
  Cc: corbet, linux-fsdevel, linux-block, kernel-dev, kernel,
	Bart Van Assche, Darrick J. Wong, Jan Kara

On 8/23/24 12:05 PM, Guilherme G. Piccoli wrote:
> Commit ed5cc702d311 ("block: Add config option to not allow writing to mounted
> devices") added a Kconfig option along with a kernel command-line tuning to
> control writes to mounted block devices, as a means to deal with fuzzers like
> Syzkaller, that provokes kernel crashes by directly writing on block devices
> bypassing the filesystem (so the FS has no awareness and cannot cope with that).
> 
> The patch just missed adding such kernel command-line option to the kernel
> documentation, so let's fix that.
> 
> Cc: Bart Van Assche <bvanassche@acm.org>
> Cc: Darrick J. Wong <djwong@kernel.org>
> Cc: Jan Kara <jack@suse.cz>
> Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
> ---
> 
> V3: Dropped reference to page cache (thanks Bart!).
> 
> V2 link: https://lore.kernel.org/r/20240823142840.63234-1-gpiccoli@igalia.com
> 
> 
>  Documentation/admin-guide/kernel-parameters.txt | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index 09126bb8cc9f..58b9455baf4a 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -517,6 +517,18 @@
>  			Format: <io>,<irq>,<mode>
>  			See header of drivers/net/hamradio/baycom_ser_hdx.c.
>  
> +	bdev_allow_write_mounted=
> +			Format: <bool>
> +			Control the ability of directly writing to mounted block

Since we're nit picking...

Control the ability to directly write [...]

The directly may be a bit confusing ("does it mean O_DIRECT?"), so maybe
just

Control the ability to write [...]

would be better and more clear.

> +			devices, i.e., allow / disallow writes that bypasses the

Since we're nit picking, s/bypasses/bypass

> +			FS. This was implemented as a means to prevent fuzzers
> +			from crashing the kernel by overwriting the metadata
> +			underneath a mounted FS without its awareness. This
> +			also prevents destructive formatting of mounted
> +			filesystems by naive storage tooling that don't use
> +			O_EXCL. Default is Y and can be changed through the
> +			Kconfig option CONFIG_BLK_DEV_WRITE_MOUNTED.
> +
>  	bert_disable	[ACPI]
>  			Disable BERT OS support on buggy BIOSes.

-- 
Jens Axboe


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

* Re: [PATCH V3] Documentation: Document the kernel flag bdev_allow_write_mounted
  2024-08-23 18:17 ` Jens Axboe
@ 2024-08-23 18:42   ` Darrick J. Wong
  2024-08-26  0:17     ` Guilherme G. Piccoli
  0 siblings, 1 reply; 4+ messages in thread
From: Darrick J. Wong @ 2024-08-23 18:42 UTC (permalink / raw)
  To: Jens Axboe
  Cc: Guilherme G. Piccoli, linux-doc, corbet, linux-fsdevel,
	linux-block, kernel-dev, kernel, Bart Van Assche, Jan Kara

On Fri, Aug 23, 2024 at 12:17:54PM -0600, Jens Axboe wrote:
> On 8/23/24 12:05 PM, Guilherme G. Piccoli wrote:
> > Commit ed5cc702d311 ("block: Add config option to not allow writing to mounted
> > devices") added a Kconfig option along with a kernel command-line tuning to
> > control writes to mounted block devices, as a means to deal with fuzzers like
> > Syzkaller, that provokes kernel crashes by directly writing on block devices
> > bypassing the filesystem (so the FS has no awareness and cannot cope with that).
> > 
> > The patch just missed adding such kernel command-line option to the kernel
> > documentation, so let's fix that.
> > 
> > Cc: Bart Van Assche <bvanassche@acm.org>
> > Cc: Darrick J. Wong <djwong@kernel.org>
> > Cc: Jan Kara <jack@suse.cz>
> > Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
> > ---
> > 
> > V3: Dropped reference to page cache (thanks Bart!).
> > 
> > V2 link: https://lore.kernel.org/r/20240823142840.63234-1-gpiccoli@igalia.com
> > 
> > 
> >  Documentation/admin-guide/kernel-parameters.txt | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> > 
> > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> > index 09126bb8cc9f..58b9455baf4a 100644
> > --- a/Documentation/admin-guide/kernel-parameters.txt
> > +++ b/Documentation/admin-guide/kernel-parameters.txt
> > @@ -517,6 +517,18 @@
> >  			Format: <io>,<irq>,<mode>
> >  			See header of drivers/net/hamradio/baycom_ser_hdx.c.
> >  
> > +	bdev_allow_write_mounted=
> > +			Format: <bool>
> > +			Control the ability of directly writing to mounted block
> 
> Since we're nit picking...
> 
> Control the ability to directly write [...]
> 
> The directly may be a bit confusing ("does it mean O_DIRECT?"), so maybe
> just
> 
> Control the ability to write [...]
> 
> would be better and more clear.

"Control the ability to open a block device for writing."

Since that's what it actually does, right?

--D

> > +			devices, i.e., allow / disallow writes that bypasses the
> 
> Since we're nit picking, s/bypasses/bypass
> 
> > +			FS. This was implemented as a means to prevent fuzzers
> > +			from crashing the kernel by overwriting the metadata
> > +			underneath a mounted FS without its awareness. This
> > +			also prevents destructive formatting of mounted
> > +			filesystems by naive storage tooling that don't use
> > +			O_EXCL. Default is Y and can be changed through the
> > +			Kconfig option CONFIG_BLK_DEV_WRITE_MOUNTED.
> > +
> >  	bert_disable	[ACPI]
> >  			Disable BERT OS support on buggy BIOSes.
> 
> -- 
> Jens Axboe
> 

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

* Re: [PATCH V3] Documentation: Document the kernel flag bdev_allow_write_mounted
  2024-08-23 18:42   ` Darrick J. Wong
@ 2024-08-26  0:17     ` Guilherme G. Piccoli
  0 siblings, 0 replies; 4+ messages in thread
From: Guilherme G. Piccoli @ 2024-08-26  0:17 UTC (permalink / raw)
  To: Darrick J. Wong, Jens Axboe
  Cc: linux-doc, corbet, linux-fsdevel, linux-block, kernel-dev, kernel,
	Bart Van Assche, Jan Kara

On 23/08/2024 15:42, Darrick J. Wong wrote:
> [...]
>> Since we're nit picking...
>>
>> Control the ability to directly write [...]
>>
>> The directly may be a bit confusing ("does it mean O_DIRECT?"), so maybe
>> just
>>
>> Control the ability to write [...]
>>
>> would be better and more clear.
> 
> "Control the ability to open a block device for writing."
> 
> Since that's what it actually does, right?
> 
> --D
> 
>>> +			devices, i.e., allow / disallow writes that bypasses the
>>
>> Since we're nit picking, s/bypasses/bypass
>>

Thank you both! Just sent the V4

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

end of thread, other threads:[~2024-08-26  0:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-23 18:05 [PATCH V3] Documentation: Document the kernel flag bdev_allow_write_mounted Guilherme G. Piccoli
2024-08-23 18:17 ` Jens Axboe
2024-08-23 18:42   ` Darrick J. Wong
2024-08-26  0:17     ` Guilherme G. Piccoli

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