Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1598913

Re: [PATCH 19/26] x86/kasan: extend to support 5-level paging

Path csiph.com!aioe.org!bofh.it!news.nic.it!robomod
From Dmitry Vyukov <dvyukov@google.com>
Newsgroups linux.kernel
Subject Re: [PATCH 19/26] x86/kasan: extend to support 5-level paging
Date Mon, 13 Mar 2017 08:30:01 +0100
Message-ID <tksAx-5ue-3@gated-at.bofh.it> (permalink)
References <tkrbr-4j8-5@gated-at.bofh.it> <tkrbs-4j8-13@gated-at.bofh.it>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=bQTmMr1ZIGRYTp8X3kNY/P0uXfNY29ElURhBB7M05Q0=; b=MYvPnLnUOhnfZOmIMSUDGT8FWmm80pnFr3RC5t82d9R9tF+jLnrmdX3672wuAfpfgp QWn1DSgLTv/jG37RKbV/HxyghG680x0x2iDHDy3uscYmqUBM675blBdbQ8f7T58qhNLp SO0zNiTi4UsFPbhsJrLapzGT9cAWW76LFFz2dslU1ocXldVWi0j+iqlR68wqfGnekqlK q6KJXJK3wUaCQBhoXz/y03OUbl6exuZJTeo3DJWH610p7/gizMO0sJXeysKbDX+L7EPU gT7ZucBP60Ccq62Nrf5+ACu2IaLIOHtUdiPvJORm2pEOUonJZJn0OQHxMm+qTLGCEJa5 44Bg==
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=bQTmMr1ZIGRYTp8X3kNY/P0uXfNY29ElURhBB7M05Q0=; b=ora3CWA2S1ZpsuAvtYgSTQKiJPgRaP1bEpEus7tYY8q/z/yuGN1nJy3QS15rv/Trrd oOwJmGEPfNPms/iuWW7dRWmfnHAVNrBHs873A5l1fh6nn17k2VIPZjInwAKVF+vbpt8G 8X2nXyVOUqPwzF9dxiA9D96XED4FqLHZ54B+UrTPc5rCHylXWhIrtTs4gEKDNzLklGMr gqNYaUik3ZPxoSbcpvStK8lWRHvH4TyY/5yS16CL4+70VLpH63ywClCPu5fYs361UXP0 LCCzSc+Z6B9s7wHxOqdp8FCWi9Hq1dPJMHnvPGdvhwRCry/LcvkiGC4Pv+2N8LdPfeb6 pP1w==
X-Gm-Message-State AMke39mrQjCqieaOkSVI/k0eh5jNYBBuG5JgTM6JE3wcJhFaDD+g36VJ2W9VUp2xk8uTAdeYoc9VO2peKzZAbQO2
X-Received by 10.31.234.3 with SMTP id i3mr14516777vkh.36.1489389962997; Mon, 13 Mar 2017 00:26:02 -0700 (PDT)
MIME-Version 1.0
Content-Type text/plain; charset=UTF-8
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 59
Organization linux.* mail to news gateway
X-Original-Cc Linus Torvalds <torvalds@linux-foundation.org>, Andrew Morton <akpm@linux-foundation.org>, "x86@kernel.org" <x86@kernel.org>, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Arnd Bergmann <arnd@arndb.de>, "H. Peter Anvin" <hpa@zytor.com>, Andi Kleen <ak@linux.intel.com>, Dave Hansen <dave.hansen@intel.com>, Andy Lutomirski <luto@amacapital.net>, Michal Hocko <mhocko@suse.com>, linux-arch@vger.kernel.org, "linux-mm@kvack.org" <linux-mm@kvack.org>, LKML <linux-kernel@vger.kernel.org>, Andrey Ryabinin <aryabinin@virtuozzo.com>
X-Original-Date Mon, 13 Mar 2017 08:25:42 +0100
X-Original-Message-ID <CACT4Y+ZPUF8D7xB0PuDC+uqE5sY3=+rv-Fic2NsZX-ZWz+V0jg@mail.gmail.com>
X-Original-References <20170313055020.69655-1-kirill.shutemov@linux.intel.com> <20170313055020.69655-20-kirill.shutemov@linux.intel.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1598913

Show key headers only | View raw


On Mon, Mar 13, 2017 at 6:50 AM, Kirill A. Shutemov
<kirill.shutemov@linux.intel.com> wrote:
> This patch bring support for non-folded additional page table level.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> Cc: Dmitry Vyukov <dvyukov@google.com

+Andrey Ryabinin

> ---
>  arch/x86/mm/kasan_init_64.c | 18 ++++++++++++++++--
>  1 file changed, 16 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c
> index 733f8ba6a01f..bcabc56e0dc4 100644
> --- a/arch/x86/mm/kasan_init_64.c
> +++ b/arch/x86/mm/kasan_init_64.c
> @@ -50,8 +50,18 @@ static void __init kasan_map_early_shadow(pgd_t *pgd)
>         unsigned long end = KASAN_SHADOW_END;
>
>         for (i = pgd_index(start); start < end; i++) {
> -               pgd[i] = __pgd(__pa_nodebug(kasan_zero_pud)
> -                               | _KERNPG_TABLE);
> +               switch (CONFIG_PGTABLE_LEVELS) {
> +               case 4:
> +                       pgd[i] = __pgd(__pa_nodebug(kasan_zero_pud) |
> +                                       _KERNPG_TABLE);
> +                       break;
> +               case 5:
> +                       pgd[i] = __pgd(__pa_nodebug(kasan_zero_p4d) |
> +                                       _KERNPG_TABLE);
> +                       break;
> +               default:
> +                       BUILD_BUG();
> +               }
>                 start += PGDIR_SIZE;
>         }
>  }
> @@ -79,6 +89,7 @@ void __init kasan_early_init(void)
>         pteval_t pte_val = __pa_nodebug(kasan_zero_page) | __PAGE_KERNEL;
>         pmdval_t pmd_val = __pa_nodebug(kasan_zero_pte) | _KERNPG_TABLE;
>         pudval_t pud_val = __pa_nodebug(kasan_zero_pmd) | _KERNPG_TABLE;
> +       p4dval_t p4d_val = __pa_nodebug(kasan_zero_pud) | _KERNPG_TABLE;
>
>         for (i = 0; i < PTRS_PER_PTE; i++)
>                 kasan_zero_pte[i] = __pte(pte_val);
> @@ -89,6 +100,9 @@ void __init kasan_early_init(void)
>         for (i = 0; i < PTRS_PER_PUD; i++)
>                 kasan_zero_pud[i] = __pud(pud_val);
>
> +       for (i = 0; CONFIG_PGTABLE_LEVELS >= 5 && i < PTRS_PER_P4D; i++)
> +               kasan_zero_p4d[i] = __p4d(p4d_val);
> +
>         kasan_map_early_shadow(early_level4_pgt);
>         kasan_map_early_shadow(init_level4_pgt);
>  }
> --
> 2.11.0
>

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH 19/26] x86/kasan: extend to support 5-level paging "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> - 2017-03-13 07:00 +0100
  Re: [PATCH 19/26] x86/kasan: extend to support 5-level paging Dmitry Vyukov <dvyukov@google.com> - 2017-03-13 08:30 +0100

csiph-web