From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754459AbbK0Jfl (ORCPT ); Fri, 27 Nov 2015 04:35:41 -0500 Received: from foss.arm.com ([217.140.101.70]:48694 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754046AbbK0Jfe (ORCPT ); Fri, 27 Nov 2015 04:35:34 -0500 Date: Fri, 27 Nov 2015 09:35:29 +0000 From: Catalin Marinas To: Andrey Ryabinin Cc: Ard Biesheuvel , Mark Rutland , Yury , Arnd Bergmann , "linux-mm@kvack.org" , Linus Walleij , "Suzuki K. Poulose" , Will Deacon , "linux-kernel@vger.kernel.org" , Alexey Klimov , Alexander Potapenko , Dmitry Vyukov , David Keitel , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH RFT] arm64: kasan: Make KASAN work with 16K pages + 48 bit VA Message-ID: <20151127093529.GX3109@e104818-lin.cambridge.arm.com> References: <1448543686-31869-1-git-send-email-aryabinin@virtuozzo.com> <5658106C.10207@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5658106C.10207@virtuozzo.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Nov 27, 2015 at 11:12:28AM +0300, Andrey Ryabinin wrote: > On 11/26/2015 07:40 PM, Ard Biesheuvel wrote: > > On 26 November 2015 at 14:14, Andrey Ryabinin wrote: > >> Currently kasan assumes that shadow memory covers one or more entire PGDs. > >> That's not true for 16K pages + 48bit VA space, where PGDIR_SIZE is bigger > >> than the whole shadow memory. > >> > >> This patch tries to fix that case. > >> clear_page_tables() is a new replacement of clear_pgs(). Instead of always > >> clearing pgds it clears top level page table entries that entirely belongs > >> to shadow memory. > >> In addition to 'tmp_pg_dir' we now have 'tmp_pud' which is used to store > >> puds that now might be cleared by clear_page_tables. > >> > >> Reported-by: Suzuki K. Poulose > >> Signed-off-by: Andrey Ryabinin > > > > I would argue that the Kasan code is complicated enough, and we should > > avoid complicating it even further for a configuration that is highly > > theoretical in nature. > > > > In a 16k configuration, the 4th level only adds a single bit of VA > > space (which is, as I understand it, exactly the issue you need to > > address here since the top level page table has only 2 entries and > > hence does not divide by 8 cleanly), which means you are better off > > using 3 levels unless you *really* need more than 128 TB of VA space. > > > > So can't we just live with the limitation, and keep the current code? > > No objections from my side. Let's keep the current code. Ard had a good point, so fine by me as well. -- Catalin