Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755938AbbESN4M (ORCPT ); Tue, 19 May 2015 09:56:12 -0400 Received: from cantor2.suse.de ([195.135.220.15]:52700 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932394AbbESN4J (ORCPT ); Tue, 19 May 2015 09:56:09 -0400 Date: Tue, 19 May 2015 14:56:04 +0100 From: Mel Gorman To: One Thousand Gnomes Cc: Anisse Astier , Andrew Morton , "Kirill A. Shutemov" , David Rientjes , Linus Torvalds , Peter Zijlstra , PaX Team , Brad Spengler , Kees Cook , Andi Kleen , "Rafael J. Wysocki" , Pavel Machek , Len Brown , linux-mm@kvack.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 0/3] Sanitizing freed pages Message-ID: <20150519135604.GE2462@suse.de> References: <1431613188-4511-1-git-send-email-anisse@astier.eu> <20150519124644.GD2462@suse.de> <20150519143540.70410b94@lxorguk.ukuu.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20150519143540.70410b94@lxorguk.ukuu.org.uk> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2348 Lines: 56 On Tue, May 19, 2015 at 02:35:40PM +0100, One Thousand Gnomes wrote: > > may be some benefits in some cases, I think it's a weak justification for > > always zeroing pages on free. > > There are much better reasons for zero on free, including the improved > latency when pages are faulted in. Not necessarily. Not all pages are currently zero'd on allocation so we're trading sometimes zeroing a page at with always zeroing a page on freee. It might look good on a benchmark that measures the fault cost and not the free but it's not a universal win. > For virtualisation there are two > interfaces that would probably make more sense > > 1. 'This page is of no further interest, you may fault it back in > as random data' > > 2. 'This page is discardable, if I touch it *and* you have > discarded it then please serve me an exception, if you've not discarded > it them give it me back" > > If I remember my 390 bits the S/390 goes further including the ability to > say "if I think this page is in memory but in fact the hypervisor is > going to page it off disc then throw me an exception so I can do clever > things with the delay time" > I think it's also used to grant another VM the page while it's not in use. Overall though, there are better ideas for shrinking VM memory usage than zeroing everything and depending on KSM to detect it. > > > - finally, it can reduce infoleaks, although this is hard to measure. > > > > > It obscures them. > > Actually not. If you are doing debug work you zero on free and check for > mysterious non zeroing before reusing the page. Without that its a win in > the sense it wipes material (but crypto does that anyway), but it > replaces that with the risk of a zeroed page being scibbled upon by the > kernel and leaking kernel scribbles into allocated user pages. > Ok, I see now that we just crash differently. Previously the zero on allocation would prevent a leak. With this applied the __GFP_ZERO is ignored and so different classes of bugs can be detected. Not necessarily better but I accept my point was wrong. -- Mel Gorman SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/