Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp1057187pxm; Wed, 23 Feb 2022 17:02:19 -0800 (PST) X-Google-Smtp-Source: ABdhPJwWaBVU3SATiksPYpQDJxWendkHbeHyr6pFh1NN2Q2B65LUjDFoBdxf3P7yGWOKGwbbSWtR X-Received: by 2002:a17:902:b485:b0:14d:77eb:1675 with SMTP id y5-20020a170902b48500b0014d77eb1675mr269649plr.147.1645664538804; Wed, 23 Feb 2022 17:02:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645664538; cv=none; d=google.com; s=arc-20160816; b=yEXHTWeLWFiUC2wwmLO7t5co/2slYkkk7TGbohgbPXMFlbt1C2V0A9ixXNKzZnezqe t4FXymyyEWWkyjxSp6RrF1shBCP8fwrMX9JsWmsW08BJcsb/ksuMWFi4BdgHW9fQo4I6 4jUZJVuHpfgSGa5oNEqjhlMkE7X3HG3wUu2yTM4bTmLpufyTNszhPPrkNTxeBvelPZv5 TKHJ47yjYFW3RLSCUK5dls8TsLOvENmXg8ZVKXxenXJoagv/FeImITs22JIIw6RZ2hkW tBBwK12GLxBGW5YpEwAXDTgGHLEhXATNqqQ+yM4+TMolW+liwY452+bUGjXBKee5PsA5 NCsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:mime-version:message-id:date :dkim-signature; bh=d5dLzGHZ/03S2GwnSJZ7atIUIHBRbtyGlBVTRxvEnP4=; b=So6IsApH/Sl03rt3cyx6Sao7LMzGyykNZcaJu+3pHdSi63X4LBl8TCukA/y7o0C1C5 vCLjAJLty26WlkkZUOzqEb43kMmcezYJ/vSjKVwqRqQaB9+PUFs4J/hkkvoXNPO1UDSY ME7oMfRoUNjAPb6a+I+mrHiMpwLPS/sDbUTdxQVL0pxxpd87i5LakqQ2StQViTTrtg5m dAlXzq2jv1L5EyYzJsVb1kKWiI2P4U++MDBIyv+KjtoEqof5G5CrT1YU5DNZnVqtrsdt hBF6LYLqfPvXcDWjylv8ld/4mlvlE6j4hsEe9mzgPNGc13ouWq55oKDXPx3eDsyGjrsi lRCw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=PGhrk29E; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id oc16-20020a17090b1c1000b001bc8da786b7si3929587pjb.103.2022.02.23.17.02.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Feb 2022 17:02:18 -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=@google.com header.s=20210112 header.b=PGhrk29E; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 7BC5B13C254; Wed, 23 Feb 2022 16:52:51 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245232AbiBXAVO (ORCPT + 99 others); Wed, 23 Feb 2022 19:21:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48258 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243058AbiBXAVN (ORCPT ); Wed, 23 Feb 2022 19:21:13 -0500 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1F72B5AEF0 for ; Wed, 23 Feb 2022 16:20:45 -0800 (PST) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-2d07ae11467so6677517b3.12 for ; Wed, 23 Feb 2022 16:20:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:message-id:mime-version:subject:from:to:cc; bh=d5dLzGHZ/03S2GwnSJZ7atIUIHBRbtyGlBVTRxvEnP4=; b=PGhrk29E4gaPK0VSM9m4SYYFNB8byuIYTyilg6iL8qEgAy+DUiTuwXd7DwWukyrYDH HODoiwtt41htHibpJCxw2SNj3gA/5wHQTPpT3FY7jUCgzKZFwnrFWiRL9etRFbbYwpfp ZDbOwmboFlG6R+8FIOeJ+SE1/iyRV9rtgNBcHSrJGs6nNbTJUdiNe3po+yiRM7lowpcT h4COXZ3g1PUUgIYa8UfcVw94kUnoARZHjSwXwBsmjFdxYXGPhHIdAPIgF6sIsUycN28Y 10boTttMhEfGpNXIS6ZYFYT/yS3orWUjXjSdB4rQGZ32OgUftqMZwsu3cfw6kgEzQSKD G3iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=d5dLzGHZ/03S2GwnSJZ7atIUIHBRbtyGlBVTRxvEnP4=; b=rTRXG7a6JidBQWxqjLHlbT/wQXjlKVUhstfLK9yGptuN/tdpZn2qTqQJnYd6Kffkne fG21oFA4dsGPm9usUGxZEAiCV8tkcu85hHleMxDqdr9E5dOoS2JVs2PMPEhhxR9SXSvS 5AidK9C5USSIKYu6vaFsVKcni2xgb5DznsFXrWFgqBSO+bjUg9iHZVFjn38waeQMqzUE D9C0wuIJnO9AELLDGhHDB/2oRyi/zeE+ZmpMM2eyE0Mnds7QGbgLCJJXNSIn0iHX6qOn dukpYcj8h99RkvFVjJMtTBgfllRFXySNkAyqoj3ZrMBX/5yYHRZ1KcoKSZxYUGYFB+5k +n+g== X-Gm-Message-State: AOAM532P/aa7/73sAjFxh/lAQ9lNKVUBz1g5AqEdxfCL/vlNT/cbIaXi QFWxVKrOQJAe2iQZOapLdSQcliU= X-Received: from pcc-desktop.svl.corp.google.com ([2620:15c:2ce:200:ef38:18a6:8640:7dc1]) (user=pcc job=sendgmr) by 2002:a25:7:0:b0:623:abbe:e6e9 with SMTP id 7-20020a250007000000b00623abbee6e9mr200654yba.547.1645662044312; Wed, 23 Feb 2022 16:20:44 -0800 (PST) Date: Wed, 23 Feb 2022 16:20:24 -0800 Message-Id: <20220224002024.429707-1-pcc@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.35.1.473.g83b2b277ed-goog Subject: [PATCH v2] kasan: fix more unit tests with CONFIG_UBSAN_LOCAL_BOUNDS enabled From: Peter Collingbourne To: Andrey Konovalov , Marco Elver Cc: Peter Collingbourne , Andrey Ryabinin , Alexander Potapenko , Dmitry Vyukov , Nick Desaulniers , Daniel Micay , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-9.5 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL 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 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