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 A18DCC433F5 for ; Wed, 16 Feb 2022 09:59:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2D3B26B0073; Wed, 16 Feb 2022 04:59:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 25CFB6B0074; Wed, 16 Feb 2022 04:59:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0FD196B0078; Wed, 16 Feb 2022 04:59:20 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0192.hostedemail.com [216.40.44.192]) by kanga.kvack.org (Postfix) with ESMTP id F03546B0073 for ; Wed, 16 Feb 2022 04:59:19 -0500 (EST) Received: from smtpin08.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id B2497180AC32A for ; Wed, 16 Feb 2022 09:59:19 +0000 (UTC) X-FDA: 79148195238.08.B4416D6 Received: from mail-yb1-f181.google.com (mail-yb1-f181.google.com [209.85.219.181]) by imf30.hostedemail.com (Postfix) with ESMTP id 3CB6180005 for ; Wed, 16 Feb 2022 09:59:19 +0000 (UTC) Received: by mail-yb1-f181.google.com with SMTP id v63so4345946ybv.10 for ; Wed, 16 Feb 2022 01:59:19 -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; bh=g6yc0CzjhZvL8asvAOjVxpZRVzWjAV26MMR3ayD0Jss=; b=XGdkv5sh7wesUFoBMJy2j3M0ZGke0f+k0scopU8aYxlvCwi4vR/FyE53oliA3nse3E GsEQ2lf4rd2ykfkXR34DrqI2ga7koqk5dbsQuGeuH7cfUy4adGZqDjSF3dPD0ex7Uwzi DM9zTFb60MwwHYDFxNhz7o/AH6f226Pms31VGM5NbXsno/58svkXLg73g0cnzKXY7KCi KUQwn8q07xqK1RpieHRGRmyz7zDGH/5/T9Rf1sT/D7sJXvytIMv6oUjLJCCu0dUYNu4A GOgq+VSjs6Eat5SoNAhgOqF664kfJ/lRXA+T7/mtIrz+MWugKBILKg2OzeWPdTaHa1nn HGhw== 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; bh=g6yc0CzjhZvL8asvAOjVxpZRVzWjAV26MMR3ayD0Jss=; b=QYBAvuM0t8qRJirfWLQSoYaaAaHTCxMwVxyRnKbZUxhRbQEwkQmbG+rI9A2G8D2sld P+vzxtrCbIfeikDuqQ5TI6jiHmYRXUiRy/V6v77/Xu91bPf1hlodbDB+BaF8HMPQUzle wJV3+DGeh9E9btTxI0fW8nGikl/vD1KaEaVB1LHK8E9ccGhGeTXTP76l47L6AMkIiAGU 7FLE3lWTvs1fSfiArq1ssSeMLTcHBMpFF9BvS1OGtfl6wepNeCWyE4uwXKqu6On/LsyK SIhP7DPWs5TNhKkn2bKbVToS5/MRk/L+xIb0MCnUFt8Wp4fZSLKJb8mEVZo42XZ4hEtY t0Hg== X-Gm-Message-State: AOAM530HgCX9cmImQYx54mDMUlfWTUgTMmXj2BmGk1t6Achz0CfNR/ar SwaG7IlYnLMyAI3pChjOoAdMgFVCuP++YsykO+QdLA== X-Google-Smtp-Source: ABdhPJwU2OW7Do06toZ0xEFJUCUVefzB/0WZylYASkRpbaMU0drvCjN+jE7XQsJzmZgcUW8m27rMfk57hP+0LQAV3nA= X-Received: by 2002:a0d:ee41:0:b0:2d2:f0aa:d3ba with SMTP id x62-20020a0dee41000000b002d2f0aad3bamr1771660ywe.512.1645005558266; Wed, 16 Feb 2022 01:59:18 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Marco Elver Date: Wed, 16 Feb 2022 10:59:06 +0100 Message-ID: Subject: Re: [PATCH mm] fix for "kasan, fork: reset pointer tags of vmapped stacks" To: andrey.konovalov@linux.dev Cc: Andrew Morton , Andrey Konovalov , Alexander Potapenko , Dmitry Vyukov , Andrey Ryabinin , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrey Konovalov Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 3CB6180005 X-Rspam-User: Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=XGdkv5sh; spf=pass (imf30.hostedemail.com: domain of elver@google.com designates 209.85.219.181 as permitted sender) smtp.mailfrom=elver@google.com; dmarc=pass (policy=reject) header.from=google.com X-Stat-Signature: gsii7fqcueoeeib33da6fkh9wtp3gwkt X-HE-Tag: 1645005559-594121 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 Tue, 15 Feb 2022 at 17:52, wrote: > > From: Andrey Konovalov > > That patch didn't update the case when a stack is retrived from > cached_stacks in alloc_thread_stack_node(). As cached_stacks stores > vm_structs and not stack pointers themselves, the pointer tag needs > to be reset there as well. > > Signed-off-by: Andrey Konovalov Reviewed-by: Marco Elver Did the test catch this? If not, can this be tested? > --- > kernel/fork.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/kernel/fork.c b/kernel/fork.c > index 57d624f05182..5e3ad2e7a756 100644 > --- a/kernel/fork.c > +++ b/kernel/fork.c > @@ -226,15 +226,17 @@ static unsigned long *alloc_thread_stack_node(struct task_struct *tsk, int node) > if (!s) > continue; > > - /* Mark stack accessible for KASAN. */ > + /* Reset stack metadata. */ > kasan_unpoison_range(s->addr, THREAD_SIZE); > > + stack = kasan_reset_tag(s->addr); > + > /* Clear stale pointers from reused stack. */ > - memset(s->addr, 0, THREAD_SIZE); > + memset(stack, 0, THREAD_SIZE); > > tsk->stack_vm_area = s; > - tsk->stack = s->addr; > - return s->addr; > + tsk->stack = stack; > + return stack; > } > > /* > -- > 2.25.1 >