Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp1240309pxk; Mon, 31 Aug 2020 13:49:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxVqWrbXV0HqKcC4v4AeDW6RoEKmN1gICSiMtyty4ifCibp70gnUuZr4duBr2WcvoRQkAD1 X-Received: by 2002:a50:8e17:: with SMTP id 23mr2764266edw.31.1598906956730; Mon, 31 Aug 2020 13:49:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598906956; cv=none; d=google.com; s=arc-20160816; b=s8PtXE9mw8H8lLZyncXCsmyCSldDAiHWhEJ9k4Gm+Z0zDRox7B62V5ywhP8bSC3vQr fAjOBwh3p9bG8lcGjybF+KWKUIZczXoCI5Pjze5yqoNblk68TOwxAPEd88vbN6FlwGNN 1zel3BAtQ0Plaouzz80gGQBth5/cHMvk5NKbeFwQ55Sv2xaFm01PiDEwiErOS588A6W8 sfoahNmaa1O5jRxhbWdpc0bYCvY9BTfesSWTTvtFL9zBsVpYp7kwONh+ijl+pC/ogaKj CqjxiBtlvtHq4C9EnTtoIjGZWLIrx0fsfvBk9+E+WubcOCjdbqFicIQUnnvZKv7YC12C Nu0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:content-disposition :mime-version:reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=8NJuSzJvjWc52xwGXYUA4Bg+AK84uWxoHE6r6RwVGko=; b=KEI558wfBP3x1h7cGjmr4ys6sJ5hfMOY8iCX2sSKMN989L3qW1GKuwu9m7Ye5ZV2Jm ptRM5dFTPSPMjyfEBepPqCOlf/y1ciPO/rVc0lshTMaYlcWbcQZhWJ0ADwJdxam5yAax v4OfDuFHxB9yW1ypvkMDgPuuCzoBRh6sYZilkfdJywnFPr8QjsOzVFR+Cuono/N1Ug7b Z+kM8A/ePk2yzbBeVCYw/ez+m1SAAS3EiExcS1QyYice5CAgDq1c+67FfDKlpvVvDnDk o9eMw9wYvAMLs22bg2Tv4wdiHOWLLaobuJNUTuKYtMO5J0k+hRixKcC/9LJA/HvRIIE0 vqsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=j1qdUDQm; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m26si6313880edp.47.2020.08.31.13.48.53; Mon, 31 Aug 2020 13:49:16 -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; dkim=pass header.i=@kernel.org header.s=default header.b=j1qdUDQm; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728891AbgHaSRR (ORCPT + 99 others); Mon, 31 Aug 2020 14:17:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:49782 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727058AbgHaSRQ (ORCPT ); Mon, 31 Aug 2020 14:17:16 -0400 Received: from paulmck-ThinkPad-P72.home (unknown [50.45.173.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 7AEA22071B; Mon, 31 Aug 2020 18:17:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1598897835; bh=nBLCefDFpPRBI7iy+jr3QX4FEPCl6D6hh4uvD48LT1U=; h=Date:From:To:Cc:Subject:Reply-To:From; b=j1qdUDQmZTatcZAwhBAZpNnAfj2RGdWw+8S8F6wtonS3Avt+OHwaJvj4dXNn1yjb7 LcYV4UZI4RDKnYIUObS3uTz8BI9ETOD7b6IHIPHH+m4yltVBLzMC1FJ4wU+O+Oxdre GU1RscjWvKobMkc/k5ho3SP5T/v1yueHr3BnR+aA= Received: by paulmck-ThinkPad-P72.home (Postfix, from userid 1000) id 0902835230F1; Mon, 31 Aug 2020 11:17:15 -0700 (PDT) Date: Mon, 31 Aug 2020 11:17:15 -0700 From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, kernel-team@fb.com, mingo@kernel.org Cc: elver@google.com, andreyknvl@google.com, glider@google.com, dvyukov@google.com, cai@lca.pw, boqun.feng@gmail.com Subject: [PATCH kcsan 0/19] KCSAN updates for v5.10 Message-ID: <20200831181715.GA1530@paulmck-ThinkPad-P72> Reply-To: paulmck@kernel.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello! This series provides KCSAN updates: 1. Add support for atomic builtins. 2. Add atomic builtin TSAN instrumentation to uaccess whitelist. 3. Add atomic builtin test case. 4. Support compounded read-write instrumentation. 5. objtool, kcsan: Add __tsan_read_write to uaccess whitelist. 6. Skew delay to be longer for certain access types. 7. Add missing CONFIG_KCSAN_IGNORE_ATOMICS checks. 8. Test support for compound instrumentation. 9. instrumented.h: Introduce read-write instrumentation hooks. 10. asm-generic/bitops: Use instrument_read_write() where appropriate. 11. locking/atomics: Use read-write instrumentation for atomic RMWs. 12. Simplify debugfs counter to name mapping. 13. Simplify constant string handling. 14. Remove debugfs test command. 15. Show message if enabled early. 16. Use pr_fmt for consistency. 17. Optimize debugfs stats counters. 18. bitops, kcsan: Partially revert instrumentation for non-atomic bitops. 19. Use tracing-safe version of prandom. Thanx, Paul ------------------------------------------------------------------------ include/asm-generic/atomic-instrumented.h | 330 +++++++++---------- include/asm-generic/bitops/instrumented-atomic.h | 6 include/asm-generic/bitops/instrumented-lock.h | 2 include/asm-generic/bitops/instrumented-non-atomic.h | 36 +- include/linux/instrumented.h | 30 + include/linux/kcsan-checks.h | 45 +- kernel/kcsan/core.c | 238 +++++++++++-- kernel/kcsan/debugfs.c | 136 +------ kernel/kcsan/kcsan-test.c | 128 ++++++- kernel/kcsan/kcsan.h | 12 kernel/kcsan/report.c | 10 kernel/kcsan/selftest.c | 8 lib/Kconfig.kcsan | 5 scripts/Makefile.kcsan | 2 scripts/atomic/gen-atomic-instrumented.sh | 21 - tools/objtool/check.c | 55 +++ 16 files changed, 697 insertions(+), 367 deletions(-)