As approved by both Technical and Governing boards, Linux Kernel uAPI header files can now be imported into the kernel/linux/uapi directory.
This patch also fix the SPDX tags checker script to take into account dual-licensed files. The process to import such headers is documented in doc/guides/contributing/linux_uapi.rst Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com> --- devtools/check-spdx-tag.sh | 2 +- license/Linux-syscall-note | 25 +++++++++++++++++++++++++ license/exceptions.txt | 17 +++++++++-------- 3 files changed, 35 insertions(+), 9 deletions(-) create mode 100644 license/Linux-syscall-note diff --git a/devtools/check-spdx-tag.sh b/devtools/check-spdx-tag.sh index 1fd0d579d3..984825026e 100755 --- a/devtools/check-spdx-tag.sh +++ b/devtools/check-spdx-tag.sh @@ -48,7 +48,7 @@ check_licenses() { fi exceptions=$(build_exceptions_list) git grep -l SPDX-License-Identifier: -- $no_license_list $exceptions | - xargs grep -L -E 'SPDX-License-Identifier:[[:space:]]*\(?BSD-3-Clause' > $tmpfile + xargs grep -L -E 'SPDX-License-Identifier:[[:space:]]*(\(?|.* OR )BSD-3-Clause' > $tmpfile wrong_license=$(wc -l < $tmpfile) $quiet || cat $tmpfile diff --git a/license/Linux-syscall-note b/license/Linux-syscall-note new file mode 100644 index 0000000000..9abdad71fa --- /dev/null +++ b/license/Linux-syscall-note @@ -0,0 +1,25 @@ +SPDX-Exception-Identifier: Linux-syscall-note +SPDX-URL: https://spdx.org/licenses/Linux-syscall-note.html +SPDX-Licenses: GPL-2.0, GPL-2.0+, GPL-1.0+, LGPL-2.0, LGPL-2.0+, LGPL-2.1, LGPL-2.1+, GPL-2.0-only, GPL-2.0-or-later +Usage-Guide: + This exception is used together with one of the above SPDX-Licenses + to mark user space API (uapi) header files so they can be included + into non GPL compliant user space application code. + To use this exception add it with the keyword WITH to one of the + identifiers in the SPDX-Licenses tag: + SPDX-License-Identifier: <SPDX-License> WITH Linux-syscall-note +License-Text: + + NOTE! This copyright does *not* cover user programs that use kernel + services by normal system calls - this is merely considered normal use + of the kernel, and does *not* fall under the heading of "derived work". + Also note that the GPL below is copyrighted by the Free Software + Foundation, but the instance of code that it refers to (the Linux + kernel) is copyrighted by me and others who actually wrote it. + + Also note that the only valid version of the GPL as far as the kernel + is concerned is _this_ particular version of the license (ie v2, not + v2.2 or v3.x or whatever), unless explicitly otherwise stated. + + Linus Torvalds + diff --git a/license/exceptions.txt b/license/exceptions.txt index d12fac2034..cf2034747d 100644 --- a/license/exceptions.txt +++ b/license/exceptions.txt @@ -9,11 +9,12 @@ Note that following licenses are not exceptions:- - BSD-3-Clause OR LGPL-2.1 - GPL-2.0 (*Only for kernel code*) ---------------------------------------------------------------------------------------------------- -SPDX Identifier | TB Approval Date | GB Approval Date | File name ---------------------------------------------------------------------------------------------------- -MIT | 10/23/2019 | 02/10/2020 | lib/eal/windows/include/dirent.h -BSD-2-Clause | 10/23/2019 | 12/18/2019 | lib/eal/windows/include/getopt.h -ISC AND BSD-2-Clause | 10/23/2019 | 12/18/2019 | lib/eal/windows/getopt.c -MIT | 10/19/2022 | 10/18/2022 | drivers/net/gve/base/* ---------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------- +SPDX Identifier | TB Approval Date | GB Approval Date | File name +--------------------------------------------------------------------------------------------------------- +MIT | 10/23/2019 | 02/10/2020 | lib/eal/windows/include/dirent.h +BSD-2-Clause | 10/23/2019 | 12/18/2019 | lib/eal/windows/include/getopt.h +ISC AND BSD-2-Clause | 10/23/2019 | 12/18/2019 | lib/eal/windows/getopt.c +MIT | 10/19/2022 | 10/18/2022 | drivers/net/gve/base/* +GPL-2.0 WITH Linux-syscall-note | 12/11/2024 | 04/14/2025 | kernel/linux/uapi/linux/* +--------------------------------------------------------------------------------------------------------- -- 2.49.0