From nobody Thu Apr 16 08:24:15 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8038632AABE for ; Sun, 1 Mar 2026 13:41:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772372467; cv=none; b=FZKdo6qcRti3OhXpVXeo0oQEEx99GABhQrOt5c5cJmgt/YD7CC7afFR+zSJA0FRQsI1pHoQwLLohQKwH8nYzupYo2bzFhcP+MdyXegkvgJFyGu2HB9EXmkqrTfQ02tAsrNSwRBlPIe3wph4DpKJoG//pxCpolO4rEXJkTN5cgHw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772372467; c=relaxed/simple; bh=+ES5/OC/9LPBAa993HFBienoS1osDIOASawAF5IW9TQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=R8XyVeUiTN46rEGjpTNwuUTTjqCcUsLLHdCwuuD6zXYy6CpJwNAGtE4fv7hwSUDDeNcm9AlTrRqGrxu1O1mckw4CKX2Z87Z5RPN830PGInvqVo7rlGqXX4FGfyrNa2SP+3KDro5+jYVsahCkWy1i9/rpocvg9+fzV8gvc6QQF8E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Td17FqzE; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BQms9avH; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Td17FqzE"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BQms9avH" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 621AuRLg2296528 for ; Sun, 1 Mar 2026 13:41:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=7xlenVyuNtjntNFqpEinehs1xY4pgd5f7lk 7THeCl2Y=; b=Td17FqzEfTGEK5beOqSpZBhpp8WhB9khRw+FmgBOWe6ZUeRw5sm 4W2lxDTnRfYKuPhAXvstaTfGgxbNVUxMdbplh2UekKWxnhD7V+5P9RvN4erbjaLe ItxjsPeIpTQ2D2LeJfEkL6zAnKZXtPToSBsTBJWQD5ABxvD2r6us6Ta1/WwPi++H 9U0PzHC2q3zbuNAMkQZ/9o882mwqB3pGODtVly1dVu+UrdVRG0NceTyVtDJasRjc nXJo8wIHUu/tEM35FxtCan0iBnStCXANbw6/DtKPMbKFPBKOp5fHeveS6BTOgzBJ 6rnYTS6N8Pp26f1UgfUoiJnRZlC85Ga0+pg== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ckshcjtts-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 01 Mar 2026 13:41:05 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-506b3fb32a1so695514001cf.0 for ; Sun, 01 Mar 2026 05:41:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772372465; x=1772977265; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=7xlenVyuNtjntNFqpEinehs1xY4pgd5f7lk7THeCl2Y=; b=BQms9avHRMozheEVje/NBX1MxSJIFEmNPwmcecGNeIDQC06kOfJIuo1HlNkDc7lFxz MwWQtQ4HLDOY7Tug9tyYKroRdJmyZO0/GDpvMPykKfWy0B96JNB7w8rhwQmVB2FIDo/T nVyDZK9YV6yTpFe5eMpKk8a75SRtt9QiUMwhQIyUNpxABtxFBqPCMpRnqSv0tL2H5fZQ 6f3xulFY8HnSWX4TCRzoxraen7ztGnyk5IFH7Rumq/RzC6ODsQ8tQfEf0ksRRyoH/QfJ KWEcDjzp5u/sFNRsPUA8zKfSIIWrAZ7jqR4Df971k/FItkmtMHwbMppAHIraHnPdN/69 l8Lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772372465; x=1772977265; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=7xlenVyuNtjntNFqpEinehs1xY4pgd5f7lk7THeCl2Y=; b=fdjAohzZQPXfABFJFyn8iGLv9T18T9fMPJebRXCp5thVhcimwhN4nuL8c76ohgb3qI ua5TxY3udX00Ed0YdcM1ds9jtVuKQmeR9q0570QN3EfcGr4ItSDj2Jy3OuJjkvW1O4nE rXB/6tfW14WmEq3UivcN2q9xB/iwVsgfjfwaV+ZMJQ4TkC+TClIxI2V2Z1tvMg68wv1j 1REyXJgEgwwtd41Ounw4NQqgdinbeEwvu2YjNEPdYyPy3HgMhEe28Gj9KkATTyBXjuDo 5SsOX71WTadh/je0jYt4+vFID0z8lo79BGI4AsoWqnal2xblEcflsV3eNfnjzld9RYcC eHiA== X-Forwarded-Encrypted: i=1; AJvYcCW/Ar2G5Qk+P5YtVT6eRSfZ5JtJJ8wwnHGyG0xUFDimQL7pLS5LvUU7zrpHUJyAIGFGm+VW+KidHsKIhpA=@vger.kernel.org X-Gm-Message-State: AOJu0YwfwJ5yUz0aifa85kaeR9KelUL7YS62HpChwm+3nMRs5fk0d5j2 wEZNZTiAchCwr35unvL3qNub8kmyFsBn8KKJwnfQGSYfvdIOvprgIDv7qY3kcGR3un4/AXJGUOx hiuhUKuTTHLLwRGsY5rajakNTqSoTDM3EHW2r2t96K1qiSwWYm+KXH+YnImQNy6SxWUw= X-Gm-Gg: ATEYQzy4Nl9CtE9GXoJ1N4hpB32l/LM4xDYcm7hZkZObI+t3Z9GziSYv59yMcp+VEx4 dpPBF8hYCiC7Mx3X1PFuqR4AmvwIzUEbxaaSUPHtSIPScA0XN4z7nvejlSH3JXmQP+ndbgneZQ1 uFsJcyD2BuWLH8sdocIvuzt4r9YGx8W+5tKGjUDDEmp7wZEaxGHRniXfT8JTz7GnKrhj5AT38zU h0cYRn7kRqYV5XyEXPveNTXA9nH3srUEFXkyOFecVhx+SfK7hRYNhUJFrDsD7Umd9szBeXzJnKE 1Sy3aiTr/ZSF776GXoFJy8EdcfkF5vh5t1QlzNgky8zCd22i+ElVgQVpX5aUSMKWrVVkbYZKWFx MUTaS5QrSImNRFCbHUFuDtI+3C8upXmlbXcZR X-Received: by 2002:a05:620a:2947:b0:8c7:1986:6b3e with SMTP id af79cd13be357-8cbc8def8camr1140378085a.32.1772372464547; Sun, 01 Mar 2026 05:41:04 -0800 (PST) X-Received: by 2002:a05:620a:2947:b0:8c7:1986:6b3e with SMTP id af79cd13be357-8cbc8def8camr1140374685a.32.1772372464007; Sun, 01 Mar 2026 05:41:04 -0800 (PST) Received: from quoll ([178.197.219.94]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439abded86esm9847067f8f.6.2026.03.01.05.41.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Mar 2026 05:41:03 -0800 (PST) From: Krzysztof Kozlowski To: Thomas Gleixner , Greg Kroah-Hartman , Jonathan Corbet , Shuah Khan , Andy Whitcroft , Joe Perches , Dwaipayan Ray , Lukas Bulwahn , linux-spdx@vger.kernel.org, workflows@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Krzysztof Kozlowski , Laurent Pinchart Subject: [PATCH v3] LICENSES: Explicitly allow SPDX-FileCopyrightText Date: Sun, 1 Mar 2026 14:40:55 +0100 Message-ID: <20260301134054.44229-2-krzysztof.kozlowski@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2790; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject; bh=+ES5/OC/9LPBAa993HFBienoS1osDIOASawAF5IW9TQ=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBppEHmK/0xzDXEFIefYYocp9laE66FRSmlk6eBm Juur/xk0vmJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaaRB5gAKCRDBN2bmhouD 18AoEACHaXDFDxGawaFu1oOLvwIynprJbUpmMovJXVw6SSMjRFIAUQWKJjjBO3NoegzdynlrPe0 mEl2Vby5k+zfFJVXeqLrBt1RaeMNSL1G0HPcPc0XYnPrBEH9FvzCtMdxjrWlCc/TwB9R0F6Dy9a zvMCZq5ShdgMt8bigrJ8eiUUcc76aF/q9/r3mVNbpxx+QTG0DCtBVxBYiTfL4dbGyjPV6K1NWK3 lAnkS109Cky7tzkK0Q8t4pCa3kCGELDLaVEumc51FXPncMYHVAOjAZZTlbfqFx93a9vfHKfmPaW hjpp7J9+uqiDVlERI09lII0KofDF6ijc/66yh3zpvVG44lVcOWK9AWMJgf+ZeiQa3CNAhVHPPd7 IH/2SEAndxQDLUGQTKeqBIlTFw6erWPFCvEePGQ+XoC7BWDOuVSU5GdJAfDJS7NbgPszU+83gRv 9Bs8zxSNMIJeDi+cOW/7dKoJysohNRzYjcHKB1K/Jnk6JycuUjrzFWzUqfO0JdaqoNxv5ClQTDl Sueiq/KqkHpAgvbGyQDUZsJwjtl6c/faxM/8JiKLx+WyywSqxy2cefSL4bS+yzpFJbYafoed9EU wiywXGHl7t3Zp8gYTYDR6G7W3hZuDFZikCXIoQR5+L7PkT5kAfIvD8jqoBtT2gzs17OIKvhif4J 7k9/VDjmwQH9pHQ== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: wgEQPibKJk860YMpSq_LXwS970K02fjP X-Proofpoint-GUID: wgEQPibKJk860YMpSq_LXwS970K02fjP X-Authority-Analysis: v=2.4 cv=SO9PlevH c=1 sm=1 tr=0 ts=69a441f1 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=gOEeR9iKwsj33Yj5oN/cWg==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=P1BnusSwAAAA:8 a=ag1SF4gXAAAA:8 a=IJv9LcIfAAAA:8 a=EUspDBNiAAAA:8 a=_UQAGB7oVweOm72raGYA:9 a=a_PwQJl-kcHnX1M80qC6:22 a=D0XLA9XvdZm18NrgonBM:22 a=Yupwre4RP9_Eg_Bd0iYG:22 a=cmr4hm9N53k6aw-X_--Q:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzAxMDEyNCBTYWx0ZWRfX8sXMO6/4DYzf mNRlzGB6HD2Ez+prghoUQzFClxR4in7DYO0hH7dgRJZ8o48ByQzBlm0NQG6uWH9SDpX7hOBNxN/ 7W569jLimQeqQdMETZBIw80EWLzSSY60nn4KoyGlQZPMIzlYIrdnB6tpGJkezBzpbLdIQtXCDTB 6LYtpeIbonOa5Gk6Z0oN2CIGRXmIvR7LxRsN5BUuWffSG8kD+Pq5G19H/J6JYvBoM0pmGOWG723 cpAX5z0LVVL715PuXQj1PMfEIbMISdMHBUHFeEiTyv6HI83I31pljnSrqWdkyPoPjvN7ttsJC9n VrNFfkqeR65HxWQG5UdEsgLZ78IT1k3SCBXbSihsVIqzc1vwTdYdMkUm++y96vxbK+q0TlDQsJ+ gqREseeGYFNaoU6VNBXERyhCq4AAuNQ7wFyFQtXcQPuOjL1jCzne5RNj7ug+d1nPpQYF20pQAj2 /z63i0W5LgIQVfsthXQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-01_02,2026-02-27_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 impostorscore=0 spamscore=0 bulkscore=0 suspectscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603010124 Content-Type: text/plain; charset="utf-8" Sources already have SPDX-FileCopyrightText (~40 instances) and more appear on the mailing list, so document that it is allowed. On the other hand SPDX defines several other tags like SPDX-FileType, so add checkpatch rule to narrow desired tags only to two of them - license and copyright. That way no new tags would sneak in to the kernel unnoticed. Cc: Laurent Pinchart Cc: Greg Kroah-Hartman Cc: Joe Perches Signed-off-by: Krzysztof Kozlowski Acked-by: Laurent Pinchart --- Other way would be to remove SPDX-FileCopyrightText from existing files and disallow this, but one way or another we should be explicit about it. Otherwise people will be sending more of these and each maintainer would need to make their own call. Changes in v3: 1. Typo "or multiple" Changes in v2: 1. Doc adjustments based on feedback from Greg and Laurent. 2. "unused" -> "unsupported" 3. Drop redundant blank line --- Documentation/process/license-rules.rst | 7 +++++-- scripts/checkpatch.pl | 8 ++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Documentation/process/license-rules.rst b/Documentation/proces= s/license-rules.rst index 59a7832df7d0..b0176bb8a465 100644 --- a/Documentation/process/license-rules.rst +++ b/Documentation/process/license-rules.rst @@ -63,8 +63,11 @@ License identifier syntax The SPDX license identifier in kernel files shall be added at the first possible line in a file which can contain a comment. For the majority of files this is the first line, except for scripts which require the - '#!PATH_TO_INTERPRETER' in the first line. For those scripts the SPDX - identifier goes into the second line. + '#!PATH_TO_INTERPRETER' in the first line. For those scripts, the SPDX + license identifier goes into the second line. + + The license identifier line can then be followed by one or multiple + SPDX-FileCopyrightText lines if desired. =20 | =20 diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index bec7930cdd66..e317cf2ffc58 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3856,6 +3856,14 @@ sub process { "Misplaced SPDX-License-Identifier tag - use line $checklicenselin= e instead\n" . $herecurr); } =20 +# check for unsupported SPDX file tags + if ($rawline =3D~ /\bSPDX-.*:/ && + $rawline !~ /\bSPDX-License-Identifier:/ && + $rawline !~ /\bSPDX-FileCopyrightText:/) { + WARN("SPDX_LICENSE_TAG", + "Unsupported SPDX tag\n" . $herecurr); + } + # line length limit (with some exclusions) # # There are a few types of lines that may extend beyond $max_line_length: --=20 2.51.0