Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp3561692pxp; Tue, 8 Mar 2022 17:30:34 -0800 (PST) X-Google-Smtp-Source: ABdhPJyg6MnI3SgN49VBzaR3Zp7iRGj4G5qiVADhSKebSlhyduNG/6qPeDqVcug/ZLLSiyCDVpKx X-Received: by 2002:a05:6a00:1aca:b0:4e1:a2b6:5b9 with SMTP id f10-20020a056a001aca00b004e1a2b605b9mr20905149pfv.4.1646789434309; Tue, 08 Mar 2022 17:30:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646789434; cv=none; d=google.com; s=arc-20160816; b=C3hQbtvIlg9hz9yssX6mDzoqDhShPmlPnltafueyRnpOnO69b2QXd6MMj1y3N+Ehbf rtcnJXtW1EBPxulVguXmVwVusmLDawqM09W0Ohq0vzrAuAeGQLtiCyvnpBK4ZgA6SJ0/ Zc9OapwffzOMLevsbAKN0UraDH0LBHPaXo/03x5WSWFGe+TEprSr0APAqI29FKCk9fgn jvWYHXpDsTGacrAuhFiDkZzEXUdQtcUzG84nqWIYRIN7txTyAOq203OkENxj+Mmm7sIv f+wpBqg8w8eCbXTi+rM1YUtElz05/AkV4UzoousxhFRu8Nv1JsS4IdJYuWAJvq+XFV16 XLqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=wOTmPPxRGAGavYaBI0ES2ExVC8hASPRKrb33K4sd3F0=; b=dtmqciohYVSGJhAHHfVpUMW5UWU9kv9NJwJBkkyqAmdgvl5k8btWkB7K+wD7UhXuRV DL7IIF0mgXlPiJ2hxNT7+GAIqETSPZxaNou0/fT4KfPhk4mpOYWWHLWhjzxpoJW3mFGC 8PEmKaiVX1XLoWRYRVH0s9Gjf2Ue07vNk74JbFOUTCgS4b6mlSkjbuZBqdDvaIyBqm8k /qzGb1Zd3nI4RAx1H18W7dSlCHahtUQmHr8gwEM+wFtkguz8btfX0JxN66A3qLOcTT3X WQMp7jCsalifNSf3lsi5ZRs7bMWROLtXu5kB0FAlw35JtdPRqfjd5G2se5WdkNhL841L XdDg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="o/y1YVgR"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id h37-20020a632125000000b00378dd8db044si494260pgh.631.2022.03.08.17.30.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 17:30:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="o/y1YVgR"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 3DA44C7D71; Tue, 8 Mar 2022 16:18:35 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346021AbiCHNqI (ORCPT + 99 others); Tue, 8 Mar 2022 08:46:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55994 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347210AbiCHNqE (ORCPT ); Tue, 8 Mar 2022 08:46:04 -0500 Received: from mail-il1-x12d.google.com (mail-il1-x12d.google.com [IPv6:2607:f8b0:4864:20::12d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9E66F49CB5; Tue, 8 Mar 2022 05:45:03 -0800 (PST) Received: by mail-il1-x12d.google.com with SMTP id d3so14011182ilr.10; Tue, 08 Mar 2022 05:45:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=wOTmPPxRGAGavYaBI0ES2ExVC8hASPRKrb33K4sd3F0=; b=o/y1YVgRc/BZ1Kcpk1jcTq2voS7O1/6r1s2Z6KL502LEhpbntxn+cjae/n0SAu6PZY MC+8wt8XEGph8g6nVD1yhCCGQ8Va/KsRGXIIzaOslzHA3TUg5TCMKLT0STlIibjmB0VC Rfp21k5c+W5iq2sgwCkigX3ZoBpk+UW3LUi7SGT1bfj+e+c2pYV0Va/bmjqDg5sW5HnS Sj4vbjxbLjxSLqDs0Rb9IZ8coLDsmULfrJ7d+hkck3qHVF1XpGuA6ojgbcuVD7jSvO3n TzjdgW3666r+USIXS5TzmSrATVTK5DRV6jaF0zZjfPhYz1m8/5KO1pYTp5x27UGjLDE0 oUCA== 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=wOTmPPxRGAGavYaBI0ES2ExVC8hASPRKrb33K4sd3F0=; b=VdTHspteFhJXRG43aVB6F0XKcP10SlT8xWn1PQE5BCtlN8tFpeUXDqRTtlqpGBLNu1 c6vBldxPQhlJbRE1mPZ0q/ZrbJ/GFXlFKvDY9cMefv5xqNpyr6RrZ00mDuiL1bTBHTBB HzWu5QIaJgRk2erDIW5Dysfao8OH9u9D2sk4OMlKyL7+fakwwV08MbgKgL4aTj/DrzHm Wmvf+JMLThS4XFDKFqhc/+cO0szmcQO5HY24WEryCgILinVVAU/Nze9JF9rZ3uC9U3u6 U8xkFtV3asyIsmm9d9z8ugwVtmKz9rQKi6wwOFv27dhTRc3NtsLfZuPW/dESzMfuLeGj 9TCA== X-Gm-Message-State: AOAM532baY0VKWda6WRps1rtt4tABJv1r/k1mu0HgfVIvz0lSGkDcnhB Ynao1VGpN3kUTvzFMS1gkakKBSk6sqDVlJAExn4= X-Received: by 2002:a05:6e02:164e:b0:2c6:59b4:9f60 with SMTP id v14-20020a056e02164e00b002c659b49f60mr3053300ilu.235.1646747102985; Tue, 08 Mar 2022 05:45:02 -0800 (PST) MIME-Version: 1.0 References: <20220224002024.429707-1-pcc@google.com> In-Reply-To: <20220224002024.429707-1-pcc@google.com> From: Andrey Konovalov Date: Tue, 8 Mar 2022 14:44:52 +0100 Message-ID: Subject: Re: [PATCH v2] kasan: fix more unit tests with CONFIG_UBSAN_LOCAL_BOUNDS enabled To: Peter Collingbourne Cc: Marco Elver , Andrey Ryabinin , Alexander Potapenko , Dmitry Vyukov , Nick Desaulniers , Daniel Micay , kasan-dev , Linux Memory Management List , LKML , stable@vger.kernel.org, Kees Cook Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 24, 2022 at 1:20 AM Peter Collingbourne wrote: > > This is a followup to commit f649dc0e0d7b ("kasan: fix unit tests > with CONFIG_UBSAN_LOCAL_BOUNDS enabled") that fixes tests that fail > as a result of __alloc_size annotations being added to the kernel > allocator functions. > > Link: https://linux-review.googlesource.com/id/I4334cafc5db600fda5cebb851b2ee9fd09fb46cc > Signed-off-by: Peter Collingbourne > Cc: # 5.16.x > Fixes: c37495d6254c ("slab: add __alloc_size attributes for better bounds checking") > --- > v2: > - use OPTIMIZER_HIDE_VAR instead of volatile > > lib/test_kasan.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/lib/test_kasan.c b/lib/test_kasan.c > index 26a5c9007653..7c3dfb569445 100644 > --- a/lib/test_kasan.c > +++ b/lib/test_kasan.c > @@ -185,6 +185,7 @@ static void kmalloc_pagealloc_oob_right(struct kunit *test) > ptr = kmalloc(size, GFP_KERNEL); > KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); > > + OPTIMIZER_HIDE_VAR(ptr); > KUNIT_EXPECT_KASAN_FAIL(test, ptr[size + OOB_TAG_OFF] = 0); > > kfree(ptr); > @@ -295,6 +296,7 @@ static void krealloc_more_oob_helper(struct kunit *test, > KUNIT_EXPECT_KASAN_FAIL(test, ptr2[size2] = 'x'); > > /* For all modes first aligned offset after size2 must be inaccessible. */ > + OPTIMIZER_HIDE_VAR(ptr2); > KUNIT_EXPECT_KASAN_FAIL(test, > ptr2[round_up(size2, KASAN_GRANULE_SIZE)] = 'x'); > > @@ -319,6 +321,8 @@ static void krealloc_less_oob_helper(struct kunit *test, > /* Must be accessible for all modes. */ > ptr2[size2 - 1] = 'x'; > > + OPTIMIZER_HIDE_VAR(ptr2); > + > /* Generic mode is precise, so unaligned size2 must be inaccessible. */ > if (IS_ENABLED(CONFIG_KASAN_GENERIC)) > KUNIT_EXPECT_KASAN_FAIL(test, ptr2[size2] = 'x'); > -- > 2.35.1.473.g83b2b277ed-goog > Acked-by: Andrey Konovalov This patch seems to be in partial conflict with the "kasan: test: Silence allocation warnings from GCC 12" patch by Kees, which is already in mm. Thanks!