Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp316768iob; Fri, 13 May 2022 02:19:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzhrhQwqzD8M+7umz7rgf2cdt3N2gZ7+aIC+OitECsHMC53PMahMTWv6PAONf4yjxphMW2/ X-Received: by 2002:a05:6402:1592:b0:425:edec:992d with SMTP id c18-20020a056402159200b00425edec992dmr38527451edv.283.1652433562636; Fri, 13 May 2022 02:19:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652433562; cv=none; d=google.com; s=arc-20160816; b=Dbfrbb/gin+JqfiVfTe5De78vvG0pIh4f1fnAWcrBA/q0nWhQsrIghDKl7webAbO7+ gOy+WlNikVuWGKccSdeTcOj85BD+xMSXIEKFu3Gh8JSQ0lisSFRpK0SIJuFtbtnp4Oqa G1kwhYy06t/1AjGU7c8Rx+zvAWI1nabowuUNwCpL5a4FDhx8P4Zc6GUDHF03zDfkIA68 KiDu/cDO14psVZf9bk/3d1c6+Aosbtrktvw0nXPHKfW2ftmbA/HsJrrU5XohgH3qo01q f8AR434sksMlQEqt3op2u3sHLvciOO5CeuRzFxCQ8rlmgUB90+e+qH4jZH05KW/zueoI 0+hg== 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:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=hk5uEtV3LYTwsgSEedR4CtG2vms3qpu/B7wOj7VdRzM=; b=kAe3sqzxhyZYOkLYkqFqiQ3IoEDEONRHsnZonY25VoX3i5qZH+jECAnalYI3xp7Fmt aJ7slHrjlYg6y0/pWtvHuX//mFeJN+gmOwFWJFj1TS7ZcPvkdWhx8YMe1zvDhXJt6ozJ mRrEB1Ri1GNJqz7uoVOhyMsoPm5B1d77CI9pqRcRHdiPevXZFB8//4erlKKR5Q9QIgys JOUgWzNHkCIOW4e3/gs6EnD5WIMS8xDL9WAKmHfTnlNecg/eR7BfziZA+Ss2XpjoBjm2 u4WQCAi6cgfNeC+lYeMry1ovCNZjpn7oBXm5q1LsZvewn/SmEX68f0GRJx22ckbJDJZE joBQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=kYsNC7Eo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qf20-20020a1709077f1400b006f3b92b634fsi1613802ejc.963.2022.05.13.02.18.56; Fri, 13 May 2022 02:19:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=kYsNC7Eo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S1378334AbiEMIcv (ORCPT + 99 others); Fri, 13 May 2022 04:32:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33194 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378317AbiEMIcj (ORCPT ); Fri, 13 May 2022 04:32:39 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EBFAC2A8041 for ; Fri, 13 May 2022 01:32:36 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id w133-20020a25c78b000000b0064847b10a22so6716105ybe.18 for ; Fri, 13 May 2022 01:32:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=hk5uEtV3LYTwsgSEedR4CtG2vms3qpu/B7wOj7VdRzM=; b=kYsNC7Eo1NPKL0cqSlEK8e68ZyQYRtrrD4EnKB7z+KZUKXD6WFKCXPMla4tDAyiQIg R1v92Ef6+EDCeojrvVKCFLPHuTXNldGmrN3nb9HL03DPkjJYrcMFg+FEzjRUKnv41p52 DaTPHxS5FuqN17a+jcm7VV3rkWuvNzYSRlAFDZ1WVlmZkoCNSAgwxJJ6kx1/K1dpk8UB oLOfeDKbeXB/4ENa6HPZYZL19N2I5sPvx4Acjap9xrQm9O0s0oit88YP4JxMHjYgoid+ UzSwLRjFMOKiGSVr/IAHMiXkp3ltx/Ft57LuU27hwohf3PH9UIVrKDk0ITX5r4ZD9gmV /XZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=hk5uEtV3LYTwsgSEedR4CtG2vms3qpu/B7wOj7VdRzM=; b=ajkJ8MlUzraY14otYEwUhwZdddJC8lXGqKAEiQZB9Fu9LqQEnuecMyuD5k7yOUbEc6 rtUTm0OTghZgRQ7Y2DangpNTAxFE8oh5PPPiqthzt3EfHk/pu+WzOYDMzmK5O/Ppm3sB JJ0FyUwGYeulrEStBdtopEf95Iscm9xB3QkgvdGfsfeCdXIwHy9fjuAVALE2KPToUPas UAfX9i0RM1Bm95HeO9BcwTqCww369EYHXAfwOc2c1pDBJwrL3GLQQFVzhsOii1NK42Mv Hdye5AZN66SceLddVX1LknShHP2Me+/94mgG/KkssQQvK0uPoP+/NMsHXvNkWMqSVEix UApw== X-Gm-Message-State: AOAM530PbSbeYy0QE3DK6wCLj+SN5cPrQBORFYNRIC7txfGRUkJxHwMH dSTzg5z8+WfiMJX+eC5Gb+wG37J2+Gls9Q== X-Received: from slicestar.c.googlers.com ([fda3:e722:ac3:cc00:4f:4b78:c0a8:20a1]) (user=davidgow job=sendgmr) by 2002:a25:4902:0:b0:648:d1db:af83 with SMTP id w2-20020a254902000000b00648d1dbaf83mr3678022yba.559.1652430756152; Fri, 13 May 2022 01:32:36 -0700 (PDT) Date: Fri, 13 May 2022 16:32:13 +0800 In-Reply-To: <20220429043913.626647-1-davidgow@google.com> Message-Id: <20220513083212.3537869-3-davidgow@google.com> Mime-Version: 1.0 References: <20220429043913.626647-1-davidgow@google.com> X-Mailer: git-send-email 2.36.0.550.gb090851708-goog Subject: [PATCH v3 3/3] selftest: Taint kernel when test module loaded From: David Gow To: Brendan Higgins , Andy Shevchenko , Jonathan Corbet , Andrew Morton , Kees Cook , Shuah Khan , Greg KH , Luis Chamberlain Cc: David Gow , "Guilherme G . Piccoli" , Sebastian Reichel , John Ogness , Joe Fradley , Daniel Latypov , kunit-dev@googlegroups.com, linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Jani Nikula , Lucas De Marchi , Aaron Tomlin , linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL autolearn=ham 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 Make any kselftest test module (using the kselftest_module framework) taint the kernel with TAINT_TEST on module load. Note that several selftests use kernel modules which are not based on the kselftest_module framework, and so will not automatically taint the kernel. These modules will have to be manually modified if they should taint the kernel this way. Similarly, selftests which do not load modules into the kernel generally should not taint the kernel (or possibly should only do so on failure), as it's assumed that testing from user-space should be safe. Regardless, they can write to /proc/sys/kernel/tainted if required. Signed-off-by: David Gow --- tools/testing/selftests/kselftest_module.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/testing/selftests/kselftest_module.h b/tools/testing/selftests/kselftest_module.h index e2ea41de3f35..226e616b82e0 100644 --- a/tools/testing/selftests/kselftest_module.h +++ b/tools/testing/selftests/kselftest_module.h @@ -3,6 +3,7 @@ #define __KSELFTEST_MODULE_H #include +#include /* * Test framework for writing test modules to be loaded by kselftest. @@ -41,6 +42,7 @@ static inline int kstm_report(unsigned int total_tests, unsigned int failed_test static int __init __module##_init(void) \ { \ pr_info("loaded.\n"); \ + add_taint(TAINT_KUNIT, LOCKDEP_STILL_OK); \ selftest(); \ return kstm_report(total_tests, failed_tests, skipped_tests); \ } \ -- 2.36.0.550.gb090851708-goog