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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 89B73C433EF for ; Tue, 21 Dec 2021 15:11:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238980AbhLUPLx (ORCPT ); Tue, 21 Dec 2021 10:11:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55826 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238979AbhLUPLv (ORCPT ); Tue, 21 Dec 2021 10:11:51 -0500 Received: from mail-qk1-x729.google.com (mail-qk1-x729.google.com [IPv6:2607:f8b0:4864:20::729]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5BBADC061574 for ; Tue, 21 Dec 2021 07:11:51 -0800 (PST) Received: by mail-qk1-x729.google.com with SMTP id t6so12828424qkg.1 for ; Tue, 21 Dec 2021 07:11:51 -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=X5aALgM669te53EiBwD5a5ZtzePWGJvpGWSi3Sh4r1ZTI20KmkL1aXjf8RlZYMygrB Z7m+sDuHFZwIrvKsehgkqQZJpZz3I3QDlYfAFQ1EHYbYgMM7R9WC6NnuEzaLj43Asgwa 3rPTLw+zRS1mJYHp+T7sE8KjrjcRKOXNVwhPm5A4gOQws9CMv2eufMGwfhbR7BZ6PCd2 icsaNNcp9WYPgmUsDcjJp95qYd8MHs6TkWgdE+4ZchgTcRpH8mXrjwNLQiXKQirxpJP3 FDaeO7qiZIekk9WOX83KZkkTdjLlL6juaxBqeDYZoNsFRCWSsBTD/tqpRm91F3i9w+mf 3v2g== X-Gm-Message-State: AOAM530dxaMfAYKEFewaTDXCLfskck4KN92BT1p1GTWRk+hVXrHJPvsf WIw7ZhpjP6PrYbJtySoM66T4G17/0EezMqilPGmPMg== 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 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E5CACC4332F for ; Tue, 21 Dec 2021 15:13:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=O34heOi+dAr7S0CeSAW6x6sDtPDfHqCk5TA3m/uuBz4=; b=pcbPTmhj27PFrx j5OlEkrLsGEglKP8nMdMDVkg/sZjyq0MpY5jxHxRk2AdX1OtVuZK8wr21wMaHaYtVd1PFoXnG8bqM yPffdtiUw0wQKq/hzSVgyiBqVp5QZtycQ2g3OCR/r4tWj27qlGaoD4+3LfhvPGAvxTTpGOUs8XjRf vDomYjzTZ97Kx6QKfbU+BcVinNu0dEMc3g2fUdwKfE3kfA53D883oI0rcYyr6BBj+e6+QNRQGSXRH qa/beo521sUq+Ct/53DwhMjTi8INVk0O/3wVw+t9bDXXoJghiTf9ui5hSbYM5F1g66SEFkWiRzB9E nNYnjba04E7ImrpZg3QA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mzgnx-007KEw-6h; Tue, 21 Dec 2021 15:11:53 +0000 Received: from mail-qk1-x72d.google.com ([2607:f8b0:4864:20::72d]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mzgnu-007KDp-0l for linux-arm-kernel@lists.infradead.org; Tue, 21 Dec 2021 15:11:51 +0000 Received: by mail-qk1-x72d.google.com with SMTP id p4so12814694qkm.7 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=LFDOEiEajjqUQZQlDHNFfzoja+M1KqHKl/fQWjdNoIMC7HhybjdR64VOkxhLeFSUUR X30FuiUFe+vrcTVpu4O9D5lFq1RaVSpJje8P+aamFHgV0+QH8ASMY4j11sV6QeAANwG7 bWIRYW86OS4/0LgX/dZCKcu7OP+VuzV5KC2RocfWyBs6rgeGdAdpdGn5svPElZ39NJBD NpMVFaT4xmme3QEQVOF6j5K7k5mGGsOn6VK3k4qV70ZtfCl2VqLxSxf3MdLAW/2azQcy NOdizJDw8yeb/JFGXXYPSDLP0bWClYeLR4rCOdWuZ6WxtDGK6DndU08lZfxrTdsnQR3h HUdQ== X-Gm-Message-State: AOAM531GwDQfe+t1+nfE4PuMq7B/Jbe8O2NOPbaXb0FooE1AiiJ7cp0o e7hZLHYJoD7pmviWyhy6JHNti9tutx7R8ASSIzwq3g== 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 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211221_071150_088670_6F0C3A28 X-CRM114-Status: GOOD ( 20.87 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gTW9uLCBEZWMgMjAsIDIwMjEgYXQgMTE6MDEgUE0gPGFuZHJleS5rb25vdmFsb3ZAbGludXgu ZGV2PiB3cm90ZToKPgo+IEZyb206IEFuZHJleSBLb25vdmFsb3YgPGFuZHJleWtudmxAZ29vZ2xl LmNvbT4KPgo+IE9uY2UgdGFnLWJhc2VkIEtBU0FOIG1vZGVzIHN0YXJ0IHRhZ2dpbmcgdm1hbGxv YygpIGFsbG9jYXRpb25zLAo+IGtlcm5lbCBzdGFja3Mgc3RhcnQgZ2V0dGluZyB0YWdnZWQgaWYg Q09ORklHX1ZNQVBfU1RBQ0sgaXMgZW5hYmxlZC4KPgo+IFJlc2V0IHRoZSB0YWcgb2Yga2VybmVs IHN0YWNrIHBvaW50ZXJzIGFmdGVyIGFsbG9jYXRpb24gaW4KPiBhbGxvY190aHJlYWRfc3RhY2tf bm9kZSgpLgo+Cj4gRm9yIFNXX1RBR1MgS0FTQU4sIHdoZW4gQ09ORklHX0tBU0FOX1NUQUNLIGlz IGVuYWJsZWQsIHRoZQo+IGluc3RydW1lbnRhdGlvbiBjYW4ndCBoYW5kbGUgdGhlIFNQIHJlZ2lz dGVyIGJlaW5nIHRhZ2dlZC4KPgo+IEZvciBIV19UQUdTIEtBU0FOLCB0aGVyZSdzIG5vIGluc3Ry dW1lbnRhdGlvbi1yZWxhdGVkIGlzc3Vlcy4gSG93ZXZlciwKPiB0aGUgaW1wYWN0IG9mIGhhdmlu ZyBhIHRhZ2dlZCBTUCByZWdpc3RlciBuZWVkcyB0byBiZSBwcm9wZXJseSBldmFsdWF0ZWQsCj4g c28ga2VlcCBpdCBub24tdGFnZ2VkIGZvciBub3cuCj4KPiBOb3RlLCB0aGF0IHRoZSBtZW1vcnkg Zm9yIHRoZSBzdGFjayBhbGxvY2F0aW9uIHN0aWxsIGdldHMgdGFnZ2VkIHRvCj4gY2F0Y2ggdm1h bGxvYy1pbnRvLXN0YWNrIG91dC1vZi1ib3VuZHMgYWNjZXNzZXMuCj4KPiBTaWduZWQtb2ZmLWJ5 OiBBbmRyZXkgS29ub3ZhbG92IDxhbmRyZXlrbnZsQGdvb2dsZS5jb20+ClJldmlld2VkLWJ5OiBB bGV4YW5kZXIgUG90YXBlbmtvIDxnbGlkZXJAZ29vZ2xlLmNvbT4KPgo+IC0tLQo+Cj4gQ2hhbmdl cyB2Mi0+djM6Cj4gLSBVcGRhdGUgcGF0Y2ggZGVzY3JpcHRpb24uCj4gLS0tCj4gIGtlcm5lbC9m b3JrLmMgfCAxICsKPiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCj4KPiBkaWZmIC0t Z2l0IGEva2VybmVsL2ZvcmsuYyBiL2tlcm5lbC9mb3JrLmMKPiBpbmRleCA0MDNiOWRiYmZiNjIu LjQxMjUzNzNkYmE0ZSAxMDA2NDQKPiAtLS0gYS9rZXJuZWwvZm9yay5jCj4gKysrIGIva2VybmVs L2ZvcmsuYwo+IEBAIC0yNTQsNiArMjU0LDcgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgKmFsbG9j X3RocmVhZF9zdGFja19ub2RlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBpbnQgbm9kZSkKPiAg ICAgICAgICAqIHNvIGNhY2hlIHRoZSB2bV9zdHJ1Y3QuCj4gICAgICAgICAgKi8KPiAgICAgICAg IGlmIChzdGFjaykgewo+ICsgICAgICAgICAgICAgICBzdGFjayA9IGthc2FuX3Jlc2V0X3RhZyhz dGFjayk7Cj4gICAgICAgICAgICAgICAgIHRzay0+c3RhY2tfdm1fYXJlYSA9IGZpbmRfdm1fYXJl YShzdGFjayk7Cj4gICAgICAgICAgICAgICAgIHRzay0+c3RhY2sgPSBzdGFjazsKPiAgICAgICAg IH0KPiAtLQo+IDIuMjUuMQo+CgoKLS0gCkFsZXhhbmRlciBQb3RhcGVua28KU29mdHdhcmUgRW5n aW5lZXIKCkdvb2dsZSBHZXJtYW55IEdtYkgKRXJpa2EtTWFubi1TdHJhw59lLCAzMwo4MDYzNiBN w7xuY2hlbgoKR2VzY2jDpGZ0c2bDvGhyZXI6IFBhdWwgTWFuaWNsZSwgSGFsaW1haCBEZUxhaW5l IFByYWRvClJlZ2lzdGVyZ2VyaWNodCB1bmQgLW51bW1lcjogSGFtYnVyZywgSFJCIDg2ODkxClNp dHogZGVyIEdlc2VsbHNjaGFmdDogSGFtYnVyZwoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=