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] [day] [month] [year] [list]
Date:	Tue, 24 Sep 2013 09:33:42 +0100
From:	Mel Gorman <mgorman@...e.de>
To:	"Darrick J. Wong" <darrick.wong@...cle.com>
Cc:	Kent Overstreet <kmo@...erainc.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Jens Axboe <axboe@...nel.dk>, Jan Kara <jack@...e.cz>,
	Hannes Reinecke <hare@...e.de>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm: Fix a regression where MS_SNAP_STABLE (stable pages
 snapshotting) was ignored

On Fri, Sep 20, 2013 at 09:54:07AM -0700, Darrick J. Wong wrote:
> On Fri, Sep 20, 2013 at 09:28:07AM +0100, Mel Gorman wrote:
> > On Fri, Sep 20, 2013 at 09:06:37AM +0100, Mel Gorman wrote:
> > > On Thu, Sep 19, 2013 at 08:06:02PM -0700, Darrick J. Wong wrote:
> > > > The "force" parameter in __blk_queue_bounce was being ignored, which means that
> > > > stable page snapshots are not always happening (on ext3).  This of course
> > > > leads to DIF disks reporting checksum errors, so fix this regression.
> > > > 
> > > > The regression was introduced in commit 6bc454d1 (bounce: Refactor
> > > > __blk_queue_bounce to not use bi_io_vec)
> > > > 
> > > > Reported-by: Mel Gorman <mgorman@...e.de>
> > > > Signed-off-by: Darrick J. Wong <darrick.wong@...cle.com>
> > > 
> > > I have no means of testing it but it looks right and thanks for checking
> > > DIF disks.
> > > 
> > > Acked-by: Mel Gorman <mgorman@...e.de>
> > > 
> > 
> > That said the two checks are now redundant. They could just be deleted
> > and depend entirely on the following check within the loop
> > 
> >                 if (page_to_pfn(page) <= queue_bounce_pfn(q) && !force)
> >                         continue;
> > 
> > with an update to the comment explaining that the check is for pages
> > below the bounce pfn or for bios that require stable writes
> 
> I'm under the impression that the point of the first looping-check is to avoid
> the bio_clone_bioset() if we're not going to bounce anything.  But I could be
> wrong. 

I doubt it, avoiding the clone makes sense and I was wrong about the
check being redundant anyway. Trying to do the clone within the loop
when the first bio that needs bouncing is encountered turns into a
mess.

-- 
Mel Gorman
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ