Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp2502375ybg; Fri, 31 Jul 2020 01:19:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxFbQE8W2rjM0pljrNKHv+fk+Ka2E0GII2ixO2NwNvcBRg64PWtJGZs2OYg/bWpt0ilg9VN X-Received: by 2002:a50:d485:: with SMTP id s5mr2783885edi.285.1596183540525; Fri, 31 Jul 2020 01:19:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596183540; cv=none; d=google.com; s=arc-20160816; b=hnCB3WjZ/7p9P9cVFxNXAmeWpo6EHOhZX/xSPJWcZT3b277YJ+LZt1IIAg6mx4NuUK j+TUofdVLR4/c9Y82mh8n9TCiBbCTgX/k9ZxkopgZlObnthc9zSQiy/1omyloxeLPf5N JwGDeiHF4ZMdvCY3K6SVJlx+aXxLtpuyypOf4xfbZKz2GgoL/DGKm7AMHcRKJDPFaPTa N1JjRTUiOYVhjTZKSRTmMaxJjdoQPwn0/RF8dEvSth8jdzYJCcANx6RaTyfMb1xMwNy6 /37jQ/Khq4GXDzKLRgn6d34Yo2bDUwviqlG3FVMsgir8685e+6VcfWXtk3SCmvyW2Iyk HwjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:from:subject:references :mime-version:message-id:in-reply-to:date:dkim-signature; bh=Q7wuseCeY0GhAAgPgxPYT/xWCEF/meAm12cc8azYGg8=; b=fgoobAyVtSmMO4oE6LyXO767lhOqpALPkBmKttjP39TtD8DWIT+I+L7Tg+qyXfUTFY L8MecT+iVekODLFFAZvyjxettCE6TYA+F44fBpANokX3oTJnukpw4Ze5QPoPY5VTyljr f35DOrjIzWUPazb9vhPLQrAI+IYsClegZBuFPK/BKw7ZolbGPMWuC7mmwzfXw3MeVqfc TexWJaeWAHkx+1I/qb+po3zkea/S/VPwEsI9Fjm0IdXINzAAoN11zonPMT7cUj6WnnCW KIcdJ86HT9yEQEtJE+Z2Ef2b7RhX4I06OU4Od3WszT30VqmW2kgeUzs7C7oVpdF4RgVe frIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=KBNkJXi1; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d23si4643178ejz.145.2020.07.31.01.18.38; Fri, 31 Jul 2020 01:19:00 -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=@google.com header.s=20161025 header.b=KBNkJXi1; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731896AbgGaIRp (ORCPT + 99 others); Fri, 31 Jul 2020 04:17:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49972 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731881AbgGaIRo (ORCPT ); Fri, 31 Jul 2020 04:17:44 -0400 Received: from mail-ej1-x64a.google.com (mail-ej1-x64a.google.com [IPv6:2a00:1450:4864:20::64a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BA0DEC061574 for ; Fri, 31 Jul 2020 01:17:43 -0700 (PDT) Received: by mail-ej1-x64a.google.com with SMTP id l18so10796295ejn.17 for ; Fri, 31 Jul 2020 01:17:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=Q7wuseCeY0GhAAgPgxPYT/xWCEF/meAm12cc8azYGg8=; b=KBNkJXi1xyvlcSbEJOtFDD9NLY+0tZN2R1jMybY7ex69isibH80B7Hw/wJ2ZmLaueI Nxd9A/0cOCERS6vVjDFtCnEUpLnL0f/UyvKgXGl3YbAWXPVIVJUulU4W+9WTCQmgYGdT +5LDOkVgnCAazL7EM6G/T7bBVh9zOzZf/DkqWWvD+ITTGb1wnxO4XJDktMvxCtbEb/zY JvEXwlwqae/LjoXhpzbx0CiDtFYkYDAgl1AVvROeUPP2TDgE4fuyRVh24KqE7v6bQhRi BTFtIw5MnFKKVf3w711viWJ382+joC/NlRy3G38U41e+AhrQOliPgfUwF/O04hOjUWZd 5owA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=Q7wuseCeY0GhAAgPgxPYT/xWCEF/meAm12cc8azYGg8=; b=qiDEFzMTot7u0q0ymfgmyThk4gbGRMgvbxBS9O9csU3bcHl4YbyAqWWQTM5W4h1Lw+ JW92irUmOBW1Ixo7q0KsyPABcWe9Fy/BttNDK90ArTH9OtK4EEiq29CySJ60vywimpaP ItT9tY8usLQCIIJJbXDu/Zf5U8vhy2TLDh/T4ho3Vp3Uwx4D8Cl/R4/xUwVWm6EfIklY VsOsgJIvh7LcsxtvIxFja3W2xePp0Hazej0H7I4HqSlDAh+AOPnQw+55rQbYhZFErNfZ XjtOuZxKZYw9aREXdKxtFNHxKZBE1cUUc7VBOdujVms/4JlBlfRTXGf9/ta4rfI3QL2Q uy1A== X-Gm-Message-State: AOAM532rHnGNqGLH+AqMEcsV25Fn1W2M9v4DIJXAK3e36OZ5U7LgY1Kh KtqKQ5CHTfEfaHIYKOXks5W+zGLoMg== X-Received: by 2002:a17:906:38d8:: with SMTP id r24mr2769495ejd.341.1596183462236; Fri, 31 Jul 2020 01:17:42 -0700 (PDT) Date: Fri, 31 Jul 2020 10:17:21 +0200 In-Reply-To: <20200731081723.2181297-1-elver@google.com> Message-Id: <20200731081723.2181297-4-elver@google.com> Mime-Version: 1.0 References: <20200731081723.2181297-1-elver@google.com> X-Mailer: git-send-email 2.28.0.163.g6104cc2f0b6-goog Subject: [PATCH 3/5] kcsan: Remove debugfs test command From: Marco Elver To: elver@google.com, paulmck@kernel.org Cc: dvyukov@google.com, glider@google.com, andreyknvl@google.com, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Remove the debugfs test command, as it is no longer needed now that we have the KUnit+Torture based kcsan-test module. This is to avoid confusion around how KCSAN should be tested, as only the kcsan-test module is maintained. Signed-off-by: Marco Elver --- kernel/kcsan/debugfs.c | 66 ------------------------------------------ 1 file changed, 66 deletions(-) diff --git a/kernel/kcsan/debugfs.c b/kernel/kcsan/debugfs.c index 116bdd8f050c..de1da1b01aa4 100644 --- a/kernel/kcsan/debugfs.c +++ b/kernel/kcsan/debugfs.c @@ -98,66 +98,6 @@ static noinline void microbenchmark(unsigned long iters) current->kcsan_ctx = ctx_save; } -/* - * Simple test to create conflicting accesses. Write 'test=' to KCSAN's - * debugfs file from multiple tasks to generate real conflicts and show reports. - */ -static long test_dummy; -static long test_flags; -static long test_scoped; -static noinline void test_thread(unsigned long iters) -{ - const long CHANGE_BITS = 0xff00ff00ff00ff00L; - const struct kcsan_ctx ctx_save = current->kcsan_ctx; - cycles_t cycles; - - /* We may have been called from an atomic region; reset context. */ - memset(¤t->kcsan_ctx, 0, sizeof(current->kcsan_ctx)); - - pr_info("KCSAN: %s begin | iters: %lu\n", __func__, iters); - pr_info("test_dummy@%px, test_flags@%px, test_scoped@%px,\n", - &test_dummy, &test_flags, &test_scoped); - - cycles = get_cycles(); - while (iters--) { - /* These all should generate reports. */ - __kcsan_check_read(&test_dummy, sizeof(test_dummy)); - ASSERT_EXCLUSIVE_WRITER(test_dummy); - ASSERT_EXCLUSIVE_ACCESS(test_dummy); - - ASSERT_EXCLUSIVE_BITS(test_flags, ~CHANGE_BITS); /* no report */ - __kcsan_check_read(&test_flags, sizeof(test_flags)); /* no report */ - - ASSERT_EXCLUSIVE_BITS(test_flags, CHANGE_BITS); /* report */ - __kcsan_check_read(&test_flags, sizeof(test_flags)); /* no report */ - - /* not actually instrumented */ - WRITE_ONCE(test_dummy, iters); /* to observe value-change */ - __kcsan_check_write(&test_dummy, sizeof(test_dummy)); - - test_flags ^= CHANGE_BITS; /* generate value-change */ - __kcsan_check_write(&test_flags, sizeof(test_flags)); - - BUG_ON(current->kcsan_ctx.scoped_accesses.prev); - { - /* Should generate reports anywhere in this block. */ - ASSERT_EXCLUSIVE_WRITER_SCOPED(test_scoped); - ASSERT_EXCLUSIVE_ACCESS_SCOPED(test_scoped); - BUG_ON(!current->kcsan_ctx.scoped_accesses.prev); - /* Unrelated accesses. */ - __kcsan_check_access(&cycles, sizeof(cycles), 0); - __kcsan_check_access(&cycles, sizeof(cycles), KCSAN_ACCESS_ATOMIC); - } - BUG_ON(current->kcsan_ctx.scoped_accesses.prev); - } - cycles = get_cycles() - cycles; - - pr_info("KCSAN: %s end | cycles: %llu\n", __func__, cycles); - - /* restore context */ - current->kcsan_ctx = ctx_save; -} - static int cmp_filterlist_addrs(const void *rhs, const void *lhs) { const unsigned long a = *(const unsigned long *)rhs; @@ -306,12 +246,6 @@ debugfs_write(struct file *file, const char __user *buf, size_t count, loff_t *o if (kstrtoul(&arg[strlen("microbench=")], 0, &iters)) return -EINVAL; microbenchmark(iters); - } else if (str_has_prefix(arg, "test=")) { - unsigned long iters; - - if (kstrtoul(&arg[strlen("test=")], 0, &iters)) - return -EINVAL; - test_thread(iters); } else if (!strcmp(arg, "whitelist")) { set_report_filterlist_whitelist(true); } else if (!strcmp(arg, "blacklist")) { -- 2.28.0.163.g6104cc2f0b6-goog