From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 18049340400 for ; Mon, 24 Aug 2026 13:32:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787578361; cv=none; b=NAyMo3ICLDggkM5Vf7T5svaYMD5hWfnisbx581LTm4lduYbbCYlK/3vFw25W4CttXKMQnLVvKleGUiplqwb1f+CYHCUYddKMzdPlsld14PG1LxHJh7LMM7GV3VuIt7ICd79HCJAGp/Q9t7xz55TD67dqakkyDqeRX8AzP+L+QHk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787578361; c=relaxed/simple; bh=/wYoKbWA/rb5RPFSav1i6crHP4PmpHlCGKtzSsdb670=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=GLjZSfcj81Kt6N38kxL7ALlWmQ03fortdp3MhWwJNLBazWp0srW/opo5AYrXvEG2QzOBDyc6G4SNy7ntt6TkYUZ+Ss35JaYFaBzgMZvkM50oykoyfOQmLiFgcC+BMqO/RF3iiH7gBzQ+xzPEIDPag9o7PQa17KiYWbukXfqoKWY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=TryS5n+4; arc=none smtp.client-ip=209.85.218.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="TryS5n+4" Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-c15e592da74so483513866b.1 for ; Mon, 24 Aug 2026 06:32:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787578354; x=1788183154; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:content-type:mime-version :message-id:date:subject:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=9jFDMZuaDQUMNyu/XaA5I+VmGrlffknt/pjl8VjQLdA=; b=TryS5n+4WTwOaCtge3dJJJstpOc98EE4yWjq3bpBG09B/PVZP3/J3wBPzauymS9qsA tiZSJM1UFN5V+0tZHZnlpYTVwyjneZe6FwD9R3lMGf+FCigXEIqFwclKaqPM569g4Yu6 C35bNbUeO7EObdy33K0EwiHsxwfkxWEY9+pKTo2Rz+dsnwZfqvIKeivJyE7W2mDaanwK rsEakrcQwc4StGrwSzxCJmR+awjO5TDuSSdtyUW63B3tFKqLgzED4jwAorv9MPRw8O7E rymFH0mCEz4EvhfDmwqw8AnlQhIYJ6q7iEycvQqwZN5s1VaWGV3xLg5+PdT/QiDUAgUO L8zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787578354; x=1788183154; h=cc:to:content-transfer-encoding:content-type:mime-version :message-id:date:subject:from:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=9jFDMZuaDQUMNyu/XaA5I+VmGrlffknt/pjl8VjQLdA=; b=ayY916DmfeQtOiP1Ji0Lp0MvsvRTJpRpz9ToKSGeAyXwFfUU6M/NbZNmx/b9Oq1yhh zwSEkkLVD+Ik2JwBuDhGsFj8HZe30Xgf0ibqwMDLSh1SySSLPuD5wSjZrTU8MJtnqUiN ZbpcPe5ZU86ISm5rQEuz40i7uqoVa8VaA4J4S/+coie0IUXgF9RlubDBx1lRQZRWMuJK 5rsbjG+wjqBZ9y/B2FvyqyApbyCq9RGFW1IxoaUo22LHwvDQAdXUJqAM2/r++uzsEV2x 3G/DoLIZ0dXmNOxfL0GDeBNG3z9MbEZ0bsKb3LimlLaCJR9HzhBRvgSoe5C/2pSfZTbn IXwQ== X-Forwarded-Encrypted: i=1; AHgh+Rp06EPVADRxTHVe2rMPxNoyYiDjIjeaWG1r0puS81xOjIUvXGNhp4CzIoLWQkPYM0Xgv3piSunpfpugm3Q=@vger.kernel.org X-Gm-Message-State: AFuF++lMH2LSe1Zo9tl+OURKVSPAf9ifc9rmmPl6uAK6MQCMn2NjWze4 gvaF70Nz3gpLlGOt5yx7BNHXeP09s6KGlO3Th8Cnk4ZxCgrSclgWBIBL X-Gm-Gg: AR+sD12DWJgasih+kpwhWBV62iuaRnjIv1BNWMHl4eXWWNFpmGPbWmBZYv0OYOpvJbC MSNk0r6kbmfGn8vFXyrAUdgg/Sa91D60M8I4c+Flp0NhAr+b0KgMkSD+ZwDWxyjea5yrrnnreiT NlXnVrJH2oOa1UYpjYqMvuIzYfE//Fm8shB3CsFfuMGzJO/TuGKWc5FMJA4phtFgHn3YLJHP+yO hqt8Hy3mhaanYiXFsj50Fcjw5C2dy24b10qX5jOz9CnS+qzrF69P58gvB2L63jk3NrqxUfqC4P4 uuZ/Rbvbr6PTPmtRwmYsgPqVAdBopInAVlQan0HF7CyrwLgPWDoYWy686FAXY4u0vRttB+vx75C xnHDD18CNR3YZv1LqWfUYd5ALX36dyzjAvZ+sMai1UN9APgUN/vfmKWMuR93JaQWpIhH8bJZCmA 5Jh6D/x5OsxR0lX05zkRZ88R0CL7qzRFXy19Re04FPxOVwY57xubM/hMw+MTUZ0lBOwxWuaZ+Rz mrX7lvybHj7Y0ZDIPtXmNWe X-Received: by 2002:a17:907:a0c9:b0:c20:3402:bd35 with SMTP id a640c23a62f3a-c24925e3909mr1796510266b.12.1787578354028; Mon, 24 Aug 2026 06:32:34 -0700 (PDT) Received: from [127.0.0.2] ([195.100.225.50]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c24966f8f2asm1313492266b.36.2026.08.24.06.32.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Aug 2026 06:32:33 -0700 (PDT) From: Malte Wechter Subject: [PATCH v2 0/2] kunit: add optional assertions to catch taint and lockdep warnings Date: Mon, 24 Aug 2026 15:32:29 +0200 Message-Id: <20260824-lockdep-kunit-v2-0-36a6fec9f72e@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-B4-Tracking: v=1; b=H4sIAO1HjGoC/12Nyw6CMBBFf4XM2pp2NBVc8R+GRSkDjDxKWiAaw r8LGDcuT3LuuQsE8kwB7tECnmYO7PoN8BSBrU1fkeBiY0CJWsYKRetsU9AgmqnnUSQa4/KaW1M kErbN4Knk19F7ZF8OU/4kO+6R3ag5jM6/j8NZ7d6vHf+1ZyWk0NpSrgzekC5p1Rluz9Z1kK3r+ gHtL2wSvAAAAA== X-Change-ID: 20260812-lockdep-kunit-9628f4bcad90 To: Brendan Higgins , David Gow , Rae Moar , Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich , Daniel Almeida , Tamir Duberstein , Alexandre Courbot , =?utf-8?q?Onur_=C3=96zkan?= Cc: linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, Malte Wechter X-Mailer: b4 0.16-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1787578351; l=2380; i=maltewechter@gmail.com; s=20260812; h=from:subject:message-id; bh=/wYoKbWA/rb5RPFSav1i6crHP4PmpHlCGKtzSsdb670=; b=Bo/DH7IPG8N81PqdvRSLkHlgp3Sr9uTslIVwWx/ZG1GyeQMkoYwK0XBxPGDX23QkYC+pp8U3B v6pq3XARUk3Dco9UNncf/ZsyuFsSlRhQyrC44TAzvrJlbVSCDniE3Xd X-Developer-Key: i=maltewechter@gmail.com; a=ed25519; pk=Ta/JQQMOW0Cbxp+yEwWqWFEyKFRyuQeSoYicwD7yvWI= this patch tries to expand KUnit by using existing kernel diagnostics to catch certain locking related bugs. Specifically this adds assertions for `debug_locks` from `lockdep` and the `TAINT_WARN` flag from `panic`. This tries to prevent bugs as: circular locking dependency and sleeping function called from invalid context. Add config CONFIG_KUNIT_EXTRA_ASSERTS that enables extra assertions to be emitted: First, before _any_ KUnit test suite is ran, this is to ensure that the extra assertions are triggered by a KUnit test and not prior. Secondly, assertions a made for each test case, failing them if the assertions fail, even if the KUnit test is marked as passed. Signed-off-by: Malte Wechter --- Changes in v2: - Implement changes directly in C KUnit instead of Rust KUnit wrapper - Remove rust specific configs and add general CONFIG_KUNIT_EXTRA_ASSERTS config - Link to v1: https://patch.msgid.link/20260818-lockdep-kunit-v1-0-66ceb1a272e3@gmail.com To: Brendan Higgins To: David Gow To: Rae Moar To: Miguel Ojeda To: Boqun Feng To: Gary Guo To: Björn Roy Baron To: Benno Lossin To: Andreas Hindborg To: Alice Ryhl To: Trevor Gross To: Danilo Krummrich To: Daniel Almeida To: Tamir Duberstein To: Alexandre Courbot To: Onur Özkan Cc: linux-kselftest@vger.kernel.org Cc: kunit-dev@googlegroups.com Cc: linux-kernel@vger.kernel.org Cc: rust-for-linux@vger.kernel.org --- Malte Wechter (2): kunit: add extra assertions to KUnit test cases kunit: add KUnit test to assert kernel state before KUnit suites are run lib/kunit/Kconfig | 12 ++++++++++++ lib/kunit/executor.c | 8 +++++++- lib/kunit/test.c | 30 ++++++++++++++++++++++++++++++ lib/kunit/try-catch.c | 23 ++++++++++++++++++++++- 4 files changed, 71 insertions(+), 2 deletions(-) --- base-commit: 8cdeaa50eae8dad34885515f62559ee83e7e8dda change-id: 20260812-lockdep-kunit-9628f4bcad90 Best regards, -- Malte Wechter