From nobody Sun Feb 8 03:27:27 2026 Received: from mail-dy1-f172.google.com (mail-dy1-f172.google.com [74.125.82.172]) (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 B3CCF3358D0 for ; Sat, 7 Feb 2026 15:56:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770479792; cv=none; b=HrsZhOhmXIyohI1mpM5qongUgDsDUHo+1ly7i1PvbYubgk0t2JQst73Q8F9iP11IxxJNO23slH/vks9b58Kkti+7MSp6YGqsKFPUyEv0dqYuYyY2eU3u7fB8Eloxu4uXhm5kE2OucILCiux5ZfclshdC0DjeO6NrCQtUJMgogYQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770479792; c=relaxed/simple; bh=tNxQ5d5F+0pxCQ53H68eMaj+7EH1agNEupPGgbTvKZE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bP6rK5K95OZ7WuxScUAzXbS3KrWkTTFaIt9SGui6JHiP8OLmqqhAYF1jNHpTthiVtM7YSdjwMAbYv+H93UdcFfYqzMAnvVTKagAe5lP3IIAJAGzmpg8g+YpEMIge+fRM38EuiwdPY6LsemuL2u454pSjDevQ3XWc/lefSdCfwwI= 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=OqFnCkjx; arc=none smtp.client-ip=74.125.82.172 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="OqFnCkjx" Received: by mail-dy1-f172.google.com with SMTP id 5a478bee46e88-2b8397e3e09so3678791eec.0 for ; Sat, 07 Feb 2026 07:56:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770479792; x=1771084592; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Lsv3J6NdVcTt1SFQJ7wC7ZpknXmPlIZzamEjxZSqFto=; b=OqFnCkjxbAKqBIHsmPzF7/eFF3vvfFjCDONgjECD86gXPRAkbDDXbr1GKVQa15oRc8 9shKwPViU/xMvsXC7l1d2SYSVp+8KTARoh4ZwpkQglEOwi5M02OdNZJAn+ke7xxsgtiS 5YGFDlMXphedym+tompZ1865AQgBa4jXisTfIHrS2uXu10AwhHccqeFvLvAFqIi8+qIJ AL81A+3PWaZIh4f3q0CO8zLAGcZOaUT4abN/rvhSXpdBx7CMCBlfiJ9AhPXBbXI5Pw9n PWhiT/ligQue6vocGH9J5rJp4OPG6mMwFTC51+g/GdmhgZw2Tu3+4Klg/nhrspQ8yZzU uLOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770479792; x=1771084592; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Lsv3J6NdVcTt1SFQJ7wC7ZpknXmPlIZzamEjxZSqFto=; b=Rvuh2XqaiZ5qa3oCHKNZIRKahYR0aB2wS1jDXmX1ZgLpuiIJ4tQfgm6OQV3YUI/PzA if5S1JQWDYhpVMuhkLOv3qn6ogx0BKL7LHansCLuGNXvlIidwCJcsqBKdNCEmCSPL6pK lXsn9pov0Adrk7Hn2ZOFCrUoafu7RQvvCJkU6lB3WlCJVvxWKQq7OMNkSVpA0LH5pap0 QW8l8jkIZLHZcM758SEiqMcLx+rWhfSh+lBoGlKfNj7P9t78dXO+/SE1WG7TwkJMEExT xyh+43tgPfF+DcEaKk+9PbAtJe1S0FRZ/smXwmq6I3qIqUFKzbcsNVzAvU0bQUyzxlbW IcmQ== X-Forwarded-Encrypted: i=1; AJvYcCVSda+U0K42XdeWzuEw14wdzUdaBNDRAzhejONsE+dKe9JYpjRksWFFhUQrrrdXcuiU/XJbf3Uwxaq42mE=@vger.kernel.org X-Gm-Message-State: AOJu0YzbIPqqINSsz+29Cv1g+ZolQYryvz1MMaHPGvZTvZDg668fh6Rv uKIQxQnwMA/+Jy1XhTEB4WxAm5tGhD3CsBFmPsit8Oegb+6GTnWeJaMMfwI5Iw== X-Gm-Gg: AZuq6aJnWW1gy1NI/Wr883JLwX1xRAp3QT/OzqvjJpbgl7CjoU10IjnMKkVSy6GbV3b lTYWHqoyFCbd5R641aICKyXMrc4qx5G2nTWMszQ9ykMoD8zjnSnZ1GF29nvT7gf4CAkyP0GykK2 CmYV88coi25R1MOxtqqWr6Y0Tf792isYRAh9p+LTpLZg84w6JRM/7roQGzhqtJD3zVaGdLdqGbB wynHHbWIc1ZFgLd+ZeYthbTqNFIXwG23R540BCdlPKJuGxluLizrWHMYgwLZoAd2HCIwjZeBWsv REDPww+Qi1ra3ggpegt4NX7mICwMH6yTqPcBv85q/IP3k9OY3jHXdKkDeeK8gnSeGw83dl5HoyJ 9kwv+fRxc2doiqm4hnKYibC7vPk4nlEyGN/1sJK0R8FkZmqgGC5Rh1D0YNFnOQBOBvuLNpGxm3v lqZ60pHWHRFC5qfIGDQRv6sz4H9qXvSmYr4SH3AxsFXD7Mn6nUz7rbB5BffpR7gIN/AquJkg1SI 2A= X-Received: by 2002:a05:7300:a494:b0:2ae:5e93:b6d with SMTP id 5a478bee46e88-2b856a3bcacmr3153653eec.38.1770479791680; Sat, 07 Feb 2026 07:56:31 -0800 (PST) Received: from jason-hall-A520-B.. ([2600:8800:41a0:8000:22c3:7b0e:5e40:3e51]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2b855c3db4asm4936561eec.18.2026.02.07.07.56.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Feb 2026 07:56:30 -0800 (PST) From: Jason Hall To: Miguel Ojeda Cc: Joe Perches , Dirk Behme , Gary Guo , rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, Jason Hall , Miguel Ojeda Subject: [PATCH v6] scripts: checkpatch: move Rust-specific lints to separate file Date: Sat, 7 Feb 2026 08:56:27 -0700 Message-ID: <20260207155627.122810-1-jason.kei.hall@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Create scripts/rust_checkpatch.pl for Rust-specific linting logic. Add a conditional loading hook in scripts/checkpatch.pl to call it. This will allow Rust linting logic to be maintained independently. Add a new entry to the MAINTAINERS file to track this new file. Suggested-by: Joe Perches Suggested-by: Miguel Ojeda Link: https://github.com/Rust-for-linux/linux/issues/1191 Signed-off-by: Jason Hall --- --- MAINTAINERS | 6 ++++++ scripts/rust_checkpatch.pl | 15 +++------------ 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 2c0bdd08b74c..57831dc30e6b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5880,6 +5880,12 @@ R: Lukas Bulwahn S: Maintained F: scripts/checkpatch.pl =20 +CHECKPATCH RUST LINTS +M: Jason Hall +L: rust-for-linux@vger.kernel.org +S: Maintained +F: scripts/rust_checkpatch.pl + CHECKPATCH DOCUMENTATION M: Dwaipayan Ray M: Lukas Bulwahn diff --git a/scripts/rust_checkpatch.pl b/scripts/rust_checkpatch.pl index 69db5ded7371..56c1bc29d3f2 100644 --- a/scripts/rust_checkpatch.pl +++ b/scripts/rust_checkpatch.pl @@ -1,7 +1,7 @@ #!/usr/bin/env perl # SPDX-License-Identifier: GPL-2.0 # -# (c) 2026, Jason K. Hall +# (c) 2026, Jason Hall =20 use strict; use warnings; @@ -9,17 +9,8 @@ use warnings; sub process_rust { my ($line, $rawline, $herecurr) =3D @_; =20 - # check for Rust unwrap/expect - if ($line =3D~ /^\+/) { - if ($line =3D~ /(?:\.|::)(?:unwrap|expect)\s*\(/ && - $rawline !~ /\/\/\s*PANIC:/ && - $line !~ /^\+\s*\/\// && - $line !~ /^\+\s*assert/) { - return ("RUST_UNWRAP", - "Avoid unwrap() or expect() in Rust code; use proper e= rror handling (Result) or justify with a '// PANIC: ...' comment.\n" . $her= ecurr); - } - } + # Reserve for future Rust-specific lints return (); } =20 -1; \ No newline at end of file +1; --=20 2.43.0