Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2472720pxb; Tue, 13 Apr 2021 02:47:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx6pCo5IZEDjonXEj5Vv1L/+jXaEPYux58QFG4pjxPaxeuEfEv67u6Qt4Gs+VQWGpdI4MsI X-Received: by 2002:a17:902:d4c2:b029:ea:deb1:dfd5 with SMTP id o2-20020a170902d4c2b02900eadeb1dfd5mr12995009plg.79.1618307243046; Tue, 13 Apr 2021 02:47:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618307243; cv=none; d=google.com; s=arc-20160816; b=FVGBwUXILmWiH3EWFRuhjftyUJMBF/EzJqhfbKlyolheYLB3dvQovZa7M1hK9NEEnJ HNS8Knwj9gdCUuUWEPIU9eiVJwA31pNoQOeZK2JjZnUOcZBjyMUaw3FMnSByxfdDNVst pxAHsUdgJ8yZHXBk4vcaAufe6KCyr4mJNfkqi0tUEb3ZJdFJa7PhVdwCESIA7xCE44Bk 8TA9JtgpcvSOWDfAAGa/FCx0n9u+hdRX3vIcUrZtpi74VP1Hc8cvMvlu7cKgVJihH+aG ePNws4zeipJsCvWwSP/v0glspBUWapnH8krSmD0+pvgUmlNwxzkSHEG5BOfawVwfP/rd 7Ccg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=4NRE/B3N7jSyurMthlr3ODwPlq8+HZJlCepgNHbtEko=; b=0wNgepUU7zKZ8Qo54nx3OvhAuvg/51fwlaVieMjywgHPm2bJ9lUBBuyLJwb4FalqL6 kYvJrMjPGTrvLMTb87OjXIuEVL/yszx/EOxf4DW2RHPAkWxtLU+cViWSV2INkG8tAeaR dUh7wut55dTZbT5x7qZ2oI8x9VH/4tOE3/SjmVKPOddZ2za9jt2LYMTaEx6QY2VIOlYw rbyBemPQsjMBysmhun4CuP0a8ET8X46+bH2oSnzx7LRG+EUpjAdme9wPq9nJbRLB0bcW P1mYP+rviqCsO+1dnLv/YoDJjYdMd4qcWbGDwVYklHpj/2TluBKEyQS/vZLSHmIUNxJg R0FQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u18si13576054plg.428.2021.04.13.02.47.10; Tue, 13 Apr 2021 02:47:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245339AbhDMJOx (ORCPT + 99 others); Tue, 13 Apr 2021 05:14:53 -0400 Received: from mail.kernel.org ([198.145.29.99]:45640 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229544AbhDMJOx (ORCPT ); Tue, 13 Apr 2021 05:14:53 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4F31A60234; Tue, 13 Apr 2021 09:14:32 +0000 (UTC) Date: Tue, 13 Apr 2021 10:14:29 +0100 From: Catalin Marinas To: Stephen Rothwell Cc: Andrew Morton , Will Deacon , Andrey Konovalov , Andrey Konovalov , Linux Kernel Mailing List , Linux Next Mailing List , Vincenzo Frascino Subject: Re: linux-next: manual merge of the akpm-current tree with the arm64 tree Message-ID: <20210413091429.GA15806@arm.com> References: <20210413185936.5095cb11@canb.auug.org.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210413185936.5095cb11@canb.auug.org.au> User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 13, 2021 at 06:59:36PM +1000, Stephen Rothwell wrote: > diff --cc lib/test_kasan.c > index 785e724ce0d8,bf9225002a7e..000000000000 > --- a/lib/test_kasan.c > +++ b/lib/test_kasan.c > @@@ -78,33 -83,30 +83,35 @@@ static void kasan_test_exit(struct kuni > * fields, it can reorder or optimize away the accesses to those fields. > * Use READ/WRITE_ONCE() for the accesses and compiler barriers around the > * expression to prevent that. > + * > + * In between KUNIT_EXPECT_KASAN_FAIL checks, fail_data.report_found is kept as > + * false. This allows detecting KASAN reports that happen outside of the checks > + * by asserting !fail_data.report_found at the start of KUNIT_EXPECT_KASAN_FAIL > + * and in kasan_test_exit. > */ > - #define KUNIT_EXPECT_KASAN_FAIL(test, expression) do { \ > - if (IS_ENABLED(CONFIG_KASAN_HW_TAGS) && \ > - !kasan_async_mode_enabled()) \ > - migrate_disable(); \ > - WRITE_ONCE(fail_data.report_expected, true); \ > - WRITE_ONCE(fail_data.report_found, false); \ > - kunit_add_named_resource(test, \ > - NULL, \ > - NULL, \ > - &resource, \ > - "kasan_data", &fail_data); \ > - barrier(); \ > - expression; \ > - barrier(); \ > - if (kasan_async_mode_enabled()) \ > - kasan_force_async_fault(); \ > - barrier(); \ > - KUNIT_EXPECT_EQ(test, \ > - READ_ONCE(fail_data.report_expected), \ > - READ_ONCE(fail_data.report_found)); \ > - if (IS_ENABLED(CONFIG_KASAN_HW_TAGS) && \ > - !kasan_async_mode_enabled()) { \ > - if (READ_ONCE(fail_data.report_found)) \ > - kasan_enable_tagging_sync(); \ > - migrate_enable(); \ > - } \ > + #define KUNIT_EXPECT_KASAN_FAIL(test, expression) do { \ > - if (IS_ENABLED(CONFIG_KASAN_HW_TAGS)) \ > ++ if (IS_ENABLED(CONFIG_KASAN_HW_TAGS) && \ > ++ !kasan_async_mode_enabled()) \ > + migrate_disable(); \ > + KUNIT_EXPECT_FALSE(test, READ_ONCE(fail_data.report_found)); \ > + WRITE_ONCE(fail_data.report_expected, true); \ > + barrier(); \ > + expression; \ > + barrier(); \ > ++ if (kasan_async_mode_enabled()) \ > ++ kasan_force_async_fault(); \ > ++ barrier(); \ > + KUNIT_EXPECT_EQ(test, \ > + READ_ONCE(fail_data.report_expected), \ > + READ_ONCE(fail_data.report_found)); \ > - if (IS_ENABLED(CONFIG_KASAN_HW_TAGS)) { \ > ++ if (IS_ENABLED(CONFIG_KASAN_HW_TAGS) && \ > ++ !kasan_async_mode_enabled()) { \ > + if (READ_ONCE(fail_data.report_found)) \ > - kasan_enable_tagging(); \ > ++ kasan_enable_tagging_sync(); \ > + migrate_enable(); \ > + } \ > + WRITE_ONCE(fail_data.report_found, false); \ > + WRITE_ONCE(fail_data.report_expected, false); \ > } while (0) > > #define KASAN_TEST_NEEDS_CONFIG_ON(test, config) do { \ Thanks Stephen. The resolution looks correct. Andrew, if you'd rather I dropped the MTE async mode support from the arm64 tree please let me know. Thanks. https://lore.kernel.org/r/20210315132019.33202-1-vincenzo.frascino@arm.com/ -- Catalin