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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090409072949.GF14687@one.firstfloor.org>
Date:	Thu, 9 Apr 2009 09:29:49 +0200
From:	Andi Kleen <andi@...stfloor.org>
To:	Chris Mason <chris.mason@...cle.com>
Cc:	Andi Kleen <andi@...stfloor.org>, hugh@...itas.com,
	npiggin@...e.de, riel@...hat.com, lee.schermerhorn@...com,
	akpm@...ux-foundation.org, linux-kernel@...r.kernel.org,
	linux-mm@...ck.org, x86@...nel.org
Subject: Re: [PATCH] [13/16] POISON: The high level memory error handler in the VM

On Wed, Apr 08, 2009 at 01:03:59PM -0400, Chris Mason wrote:

Hi Chris,

Thanks for the review.

> So, try_to_release_page returns 1 when it works.  I know this only
> because I have to read it every time to remember ;)

Argh. I think I read that, but then somehow the code still came out
wrong and the tester didn't catch the failure.

> 
> try_to_release_page is also very likely to fail if the page is dirty or
> under writeback.  At the end of the day, we'll probably need a call into

Would you recommend a retry step?  If it fails cancel_dirty_page() and then
retry?

Ideally I would like to stop the write back before it starts (it will
result in a hardware bus abort or even a machine check if the CPU
touches the data), but I realize it's difficult for anything with
private page state. I just cancel dirty for !Private at least.

> the FS to tell it a given page isn't coming back, and to clean it at all
> cost.
> 
> invalidatepage is close, but ext3/reiserfs will keep the buffer heads
> and let the page->mapping go to null in an ugly data=ordered corner
> case.  The buffer heads pin the page and it won't be freed until the IO
> is done.

invalidate_mapping_pages() ? 

I had this in an earlier version, but took it out because it seemed
problematic to rely on a specific inode. Should i reconsider it?


-Andi
-- 
ak@...ux.intel.com -- Speaking for myself only.
--
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