lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 16 Nov 2009 22:31:49 +0000
From:	Ben Hutchings <ben@...adent.org.uk>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	linux-mmc@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
	504391@...s.debian.org,
	Wouter van Heyst <larstiq@...stiq.dyndns.org>,
	Pierre Ossman <pierre@...man.eu>
Subject: Re: [PATCH] mmc: add module parameter to set whether cards are
 assumed removable

On Mon, 2009-11-16 at 12:23 -0800, Andrew Morton wrote:
> On Wed, 11 Nov 2009 04:44:36 +0000
> Ben Hutchings <ben@...adent.org.uk> wrote:
> 
> > Some people run general-purpose distribution kernels on netbooks with
> > a card that is physically non-removable or logically non-removable
> > (e.g. used for /home) and cannot be cleanly unmounted during suspend.
> > Add a module parameter to set whether cards are assumed removable or
> > non-removable, with the default set by CONFIG_MMC_UNSAFE_RESUME.
> > 
> 
> The description really doesn't give me enough info to work out what's
> happening here and why this is being proposed.  But it smells nasty.

In general, it is not possible to tell whether a card present in an MMC
slot after resume is the same that was there before suspend.  So there
are two possible behaviours, each of which will cause data loss in some
cases:

CONFIG_MMC_UNSAFE_RESUME=n (default): Cards are assumed to be removed
during suspend.  Any filesystem on them must be unmounted before
suspend; otherwise, buffered writes will be lost.

CONFIG_MMC_UNSAFE_RESUME=y: Cards are assumed to remain present during
suspend.  They must not be swapped during suspend; otherwise, buffered
writes will be flushed to the wrong card.

Currently the choice is made at compile time and this allows that to be
overridden at module load time.

[...]
> > diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
> > index d98b0e2..010c964 100644
> > --- a/drivers/mmc/core/core.c
> > +++ b/drivers/mmc/core/core.c
> > @@ -48,6 +48,22 @@ int use_spi_crc = 1;
> >  module_param(use_spi_crc, bool, 0);
> >  
> >  /*
> > + * We normally treat cards as removed during suspend if they are not
> > + * known to be on a non-removable bus, to avoid the risk of writing
> > + * back data to a different card after resume.  Allow this to be
> > + * overridden if necessary.
> > + */
> 
> So we have a module parameter which nobody knows about.  If they don't
> set this parameter which they don't know about, the kernel will trash
> their filesystem??
[...]

No, because it's set to 1 by default.  There is no change in the default
behaviour.

Ben.

-- 
Ben Hutchings
The two most common things in the universe are hydrogen and stupidity.

Download attachment "signature.asc" of type "application/pgp-signature" (829 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ