From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 75615C433F5 for ; Tue, 21 Dec 2021 15:11:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D057A6B0071; Tue, 21 Dec 2021 10:11:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CB6006B0073; Tue, 21 Dec 2021 10:11:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B7E966B0074; Tue, 21 Dec 2021 10:11:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0116.hostedemail.com [216.40.44.116]) by kanga.kvack.org (Postfix) with ESMTP id A8BB36B0071 for ; Tue, 21 Dec 2021 10:11:52 -0500 (EST) Received: from smtpin23.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 665A18848C for ; Tue, 21 Dec 2021 15:11:52 +0000 (UTC) X-FDA: 78942141264.23.5BA13C5 Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.173]) by imf10.hostedemail.com (Postfix) with ESMTP id BD57BC0014 for ; Tue, 21 Dec 2021 15:11:42 +0000 (UTC) Received: by mail-qk1-f173.google.com with SMTP id 69so299595qkd.6 for ; Tue, 21 Dec 2021 07:11:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=inKnCrxjiVlEFGg7TNsjz8T66oFLFowuMdP2ABAhDNw=; b=ZXXoTFFpFceomVCNZbiSunDDkt4OnlItu8mtU+NMmTOEcfg0gxBDShl1sSnVt/nLm8 x2YmJ/p+osB3SadllEUVUcn9Pt/IfJyQHd9cxW+VxL7ytT24/D9PkhyZM9vHpr8q9kBQ QVeD7D8f1QPckG3DjhGcEc7GHW5rDNW+b8VeFwlxyMlErdA6UsDQvAPrqXni9eITkLEl r+bYnT3mgV2uljc7gH/N3+Gh8waibfzvtq0GtTBV3/9s5Irju2R49+xQezhFPH/jGiNK 5Cb7c9GkaFLc1c570g8Z9qv3cYgKJzmtBqEYCP6bDbebH5ABNRqp0Tu0yKkJI2q6v+Mm iFRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=inKnCrxjiVlEFGg7TNsjz8T66oFLFowuMdP2ABAhDNw=; b=b2nPOmY+ZzbzX58/ftfhut2YHeoq7MJjntX3QfMBDqtg8K0BBKKa/pb+vMD2b3pa6e 8OOP4EYF8C2PSLp7i5j+2gj5goTla/rIR7yigIabeM+Em/Lyhi83G2y5kIe2YzaBqQJG zg0u1FiCG3lr4CK4mXx3O8oNfIt2oTKrzRyo9GGUpggf8KiD1Cc2Iq6+eQtiH5h+Pdxl 2ILZV5TqAFvJCgWcSEoL1IWNdN4SW3ZvW7D/T3/2WQjikkEQrEs1CiLUGkN18Yq/wXHR 8R6Zm8r4k58qAHTQ+HwdbZwkvziisYnbaV78BEM2AotThF6sHn52BQfQhcm1BPZRbGna AAbA== X-Gm-Message-State: AOAM531efYmLrQ7t0TpCxLIp5aBjuPxO9gZa5AG8lPLG+g3oDAR29CUi UYI490MqtStjYXXVcPnl1wdpST2hrOJm7XgTnnzoxg== X-Google-Smtp-Source: ABdhPJxUCH5aZo8HNcHbdUS06B2iz7YpO0Z5RJr0Phvi1i+pX2K7NddgPRzWHHeZmi01iZghm7e3vWM7VMUd7b8x8go= X-Received: by 2002:a05:620a:e0c:: with SMTP id y12mr2303562qkm.109.1640099508387; Tue, 21 Dec 2021 07:11:48 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Alexander Potapenko Date: Tue, 21 Dec 2021 16:11:11 +0100 Message-ID: Subject: Re: [PATCH mm v4 22/39] kasan, fork: reset pointer tags of vmapped stacks To: andrey.konovalov@linux.dev Cc: Marco Elver , Andrew Morton , Andrey Konovalov , Dmitry Vyukov , Andrey Ryabinin , kasan-dev , Linux Memory Management List , Vincenzo Frascino , Catalin Marinas , Will Deacon , Mark Rutland , Linux ARM , Peter Collingbourne , Evgenii Stepanov , LKML , Andrey Konovalov Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=ZXXoTFFp; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf10.hostedemail.com: domain of glider@google.com designates 209.85.222.173 as permitted sender) smtp.mailfrom=glider@google.com X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: BD57BC0014 X-Stat-Signature: 7txjsh95gw3jdxtdpgaswxzdaiexd4ac X-HE-Tag: 1640099502-371867 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, Dec 20, 2021 at 11:01 PM wrote: > > From: Andrey Konovalov > > Once tag-based KASAN modes start tagging vmalloc() allocations, > kernel stacks start getting tagged if CONFIG_VMAP_STACK is enabled. > > Reset the tag of kernel stack pointers after allocation in > alloc_thread_stack_node(). > > For SW_TAGS KASAN, when CONFIG_KASAN_STACK is enabled, the > instrumentation can't handle the SP register being tagged. > > For HW_TAGS KASAN, there's no instrumentation-related issues. However, > the impact of having a tagged SP register needs to be properly evaluated, > so keep it non-tagged for now. > > Note, that the memory for the stack allocation still gets tagged to > catch vmalloc-into-stack out-of-bounds accesses. > > Signed-off-by: Andrey Konovalov Reviewed-by: Alexander Potapenko > > --- > > Changes v2->v3: > - Update patch description. > --- > kernel/fork.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kernel/fork.c b/kernel/fork.c > index 403b9dbbfb62..4125373dba4e 100644 > --- a/kernel/fork.c > +++ b/kernel/fork.c > @@ -254,6 +254,7 @@ static unsigned long *alloc_thread_stack_node(struct = task_struct *tsk, int node) > * so cache the vm_struct. > */ > if (stack) { > + stack =3D kasan_reset_tag(stack); > tsk->stack_vm_area =3D find_vm_area(stack); > tsk->stack =3D stack; > } > -- > 2.25.1 > --=20 Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg