From: Nick Alcock <hidden> Date: 2023-02-16 15:24:39
This series, based on current modules-next, is part of a treewide cleanup
suggested by Luis Chamberlain, to remove the LICENSE_MODULE usage from
files/objects that are not tristate. Due to recent changes to kbuild, these
uses are now problematic. See the commit logs for more details.
(The commit log prefixes and Cc lists are automatically determined using
the script mentioned below. I've eyeballed them, and they seem reasonable:
my apologies if they are not.)
This is a small initial tranche to see if the general approach is valid:
larger tranches can follow if desired and if these patches seem OK.
I'll be sending a second 24-patch tranche in a few hours if this
one meets with general approval.
(In total, there are 121 patches in this series.)
Differences from v1:
- just remove MODULE_LICENSE, don't comment it out
- Cc: paid maintainers as well as unpaid ones
- improvements to the prefix determination code (notable in
PCI: versatile in particular)
The series at a whole can be found here:
https://github.com/nickalcock/linux module-license
The patch splitter (not for upstreaming!) used to prepare these
commits can be found here:
https://github.com/nickalcock/linux mass-split
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Nick Alcock (7):
kbuild, PCI: versatile: remove MODULE_LICENSE in non-modules
kbuild, PCI: mobiveil: remove MODULE_LICENSE in non-modules
kbuild, PCI: tegra: remove MODULE_LICENSE in non-modules
kbuild, PCI: endpoint: remove MODULE_LICENSE in non-modules
kbuild, PCI: hip: remove MODULE_LICENSE in non-modules
kbuild, shpchp: remove MODULE_LICENSE in non-modules
kbuild, PCI: dwc: remove MODULE_LICENSE in non-modules
drivers/pci/controller/dwc/pcie-histb.c | 1 -
drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c | 1 -
drivers/pci/controller/pci-tegra.c | 1 -
drivers/pci/controller/pci-versatile.c | 1 -
drivers/pci/controller/pcie-hisi-error.c | 1 -
drivers/pci/endpoint/pci-ep-cfs.c | 1 -
drivers/pci/endpoint/pci-epc-core.c | 1 -
drivers/pci/endpoint/pci-epc-mem.c | 1 -
drivers/pci/endpoint/pci-epf-core.c | 1 -
drivers/pci/hotplug/shpchp_core.c | 1 -
10 files changed, 10 deletions(-)
--
2.39.1.268.g9de2f9a303
From: Nick Alcock <hidden> Date: 2023-02-16 15:24:46
Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.
So remove it in the files in this commit, none of which can be built as
modules.
Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
drivers/pci/controller/pci-versatile.c | 1 -
1 file changed, 1 deletion(-)
From: Nick Alcock <hidden> Date: 2023-02-16 15:25:04
Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.
So remove it in the files in this commit, none of which can be built as
modules.
Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Karthikeyan Mitran <redacted>
Cc: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c | 1 -
1 file changed, 1 deletion(-)
From: Nick Alcock <hidden> Date: 2023-02-16 15:25:06
Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.
So remove it in the files in this commit, none of which can be built as
modules.
Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Thierry Reding <redacted>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Jonathan Hunter <jonathanh@nvidia.com>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: linux-tegra@vger.kernel.org
Cc: linux-pci@vger.kernel.org
---
drivers/pci/controller/pci-tegra.c | 1 -
1 file changed, 1 deletion(-)
From: Nick Alcock <hidden> Date: 2023-02-16 15:25:11
Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.
So remove it in the files in this commit, none of which can be built as
modules.
Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
drivers/pci/endpoint/pci-ep-cfs.c | 1 -
drivers/pci/endpoint/pci-epc-core.c | 1 -
drivers/pci/endpoint/pci-epc-mem.c | 1 -
drivers/pci/endpoint/pci-epf-core.c | 1 -
4 files changed, 4 deletions(-)
@@ -728,4 +728,3 @@ module_exit(pci_ep_cfs_exit);MODULE_DESCRIPTION("PCI EP CONFIGFS");MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");-MODULE_LICENSE("GPL v2");
@@ -260,4 +260,3 @@ EXPORT_SYMBOL_GPL(pci_epc_mem_free_addr);MODULE_DESCRIPTION("PCI EPC Address Space Management");MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");-MODULE_LICENSE("GPL v2");
From: Nick Alcock <hidden> Date: 2023-02-16 15:25:25
Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.
So remove it in the files in this commit, none of which can be built as
modules.
Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
drivers/pci/controller/pcie-hisi-error.c | 1 -
1 file changed, 1 deletion(-)
From: Nick Alcock <hidden> Date: 2023-02-16 15:25:28
Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.
So remove it in the files in this commit, none of which can be built as
modules.
Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
drivers/pci/hotplug/shpchp_core.c | 1 -
1 file changed, 1 deletion(-)
From: Nick Alcock <hidden> Date: 2023-02-16 15:25:40
Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.
So remove it in the files in this commit, none of which can be built as
modules.
Signed-off-by: Nick Alcock <redacted>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Shawn Guo <redacted>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: linux-pci@vger.kernel.org
---
drivers/pci/controller/dwc/pcie-histb.c | 1 -
1 file changed, 1 deletion(-)
[+cc PCI folks, who got the patches but not this cover letter, and
participants from the v1 posting]
On Thu, Feb 16, 2023 at 03:24:03PM +0000, Nick Alcock wrote:
This series, based on current modules-next, is part of a treewide cleanup
suggested by Luis Chamberlain, to remove the LICENSE_MODULE usage from
files/objects that are not tristate. Due to recent changes to kbuild, these
uses are now problematic. See the commit logs for more details.
(The commit log prefixes and Cc lists are automatically determined using
the script mentioned below. I've eyeballed them, and they seem reasonable:
my apologies if they are not.)
This is a small initial tranche to see if the general approach is valid:
larger tranches can follow if desired and if these patches seem OK.
I'll be sending a second 24-patch tranche in a few hours if this
one meets with general approval.
(In total, there are 121 patches in this series.)
Differences from v1:
- just remove MODULE_LICENSE, don't comment it out
- Cc: paid maintainers as well as unpaid ones
- improvements to the prefix determination code (notable in
PCI: versatile in particular)
The series at a whole can be found here:
https://github.com/nickalcock/linux module-license
The patch splitter (not for upstreaming!) used to prepare these
commits can be found here:
https://github.com/nickalcock/linux mass-split
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Nick Alcock (7):
kbuild, PCI: versatile: remove MODULE_LICENSE in non-modules
kbuild, PCI: mobiveil: remove MODULE_LICENSE in non-modules
kbuild, PCI: tegra: remove MODULE_LICENSE in non-modules
kbuild, PCI: endpoint: remove MODULE_LICENSE in non-modules
kbuild, PCI: hip: remove MODULE_LICENSE in non-modules
kbuild, shpchp: remove MODULE_LICENSE in non-modules
kbuild, PCI: dwc: remove MODULE_LICENSE in non-modules
drivers/pci/controller/dwc/pcie-histb.c | 1 -
drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c | 1 -
drivers/pci/controller/pci-tegra.c | 1 -
drivers/pci/controller/pci-versatile.c | 1 -
drivers/pci/controller/pcie-hisi-error.c | 1 -
drivers/pci/endpoint/pci-ep-cfs.c | 1 -
drivers/pci/endpoint/pci-epc-core.c | 1 -
drivers/pci/endpoint/pci-epc-mem.c | 1 -
drivers/pci/endpoint/pci-epf-core.c | 1 -
drivers/pci/hotplug/shpchp_core.c | 1 -
10 files changed, 10 deletions(-)
I squashed these and applied to pci/kbuild for v6.3, thanks!
I added examples from the v1 posting to the commit log; let me know if
I got anything wrong:
commit 84cee45bafcb ("PCI: Remove MODULE_LICENSE so boolean drivers don't look like modules")
Author: Nick Alcock [off-list ref]
Date: Thu Feb 16 15:24:04 2023 +0000
PCI: Remove MODULE_LICENSE so boolean drivers don't look like modules
Since 8b41fc4454e3 ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations are
used to identify modules. As a consequence, MODULE_LICENSE in non-modules
causes modprobe to misidentify the object file as a module when it is not,
and modprobe might succeed rather than failing with a suitable error
message.
For tristate modules that can be either built-in or loaded at runtime,
modprobe succeeds in both cases:
# modprobe ext4
[exit status zero if CONFIG_EXT4_FS=y or =m]
For boolean modules like the Standard Hot Plug Controller driver (shpchp)
that cannot be loaded at runtime, modprobe should always fail like this:
# modprobe shpchp
modprobe: FATAL: Module shpchp not found in directory /lib/modules/...
[exit status non-zero regardless of CONFIG_HOTPLUG_PCI_SHPC]
but prior to this commit, shpchp_core.c contained MODULE_LICENSE, so
"modprobe shpchp" silently succeeded when it should have failed.
Remove MODULE_LICENSE in files that cannot be built as modules.
[bhelgaas: commit log, squash]
Suggested-by: Luis Chamberlain [off-list ref]
Link: https://lore.kernel.org/r/20230216152410.4312-1-nick.alcock@oracle.com/
Signed-off-by: Nick Alcock [off-list ref]
Signed-off-by: Bjorn Helgaas [off-list ref]
Cc: Luis Chamberlain [off-list ref]
Cc: Hitomi Hasegawa [off-list ref]
Cc: Rob Herring [off-list ref]
Cc: Lorenzo Pieralisi [off-list ref]
@@ -728,4 +728,3 @@ module_exit(pci_ep_cfs_exit);MODULE_DESCRIPTION("PCI EP CONFIGFS");MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");-MODULE_LICENSE("GPL v2");
@@ -260,4 +260,3 @@ EXPORT_SYMBOL_GPL(pci_epc_mem_free_addr);MODULE_DESCRIPTION("PCI EPC Address Space Management");MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");-MODULE_LICENSE("GPL v2");
On Thu, Feb 16, 2023 at 11:43:33AM -0600, Bjorn Helgaas wrote:
[+cc PCI folks, who got the patches but not this cover letter, and
participants from the v1 posting]
Thanks Bjorn..
On Thu, Feb 16, 2023 at 03:24:03PM +0000, Nick Alcock wrote:
quoted
This series, based on current modules-next, is part of a treewide cleanup
suggested by Luis Chamberlain, to remove the LICENSE_MODULE usage from
files/objects that are not tristate. Due to recent changes to kbuild, these
uses are now problematic. See the commit logs for more details.
(The commit log prefixes and Cc lists are automatically determined using
the script mentioned below. I've eyeballed them, and they seem reasonable:
my apologies if they are not.)
This is a small initial tranche to see if the general approach is valid:
larger tranches can follow if desired and if these patches seem OK.
I'll be sending a second 24-patch tranche in a few hours if this
one meets with general approval.
(In total, there are 121 patches in this series.)
Differences from v1:
- just remove MODULE_LICENSE, don't comment it out
- Cc: paid maintainers as well as unpaid ones
- improvements to the prefix determination code (notable in
PCI: versatile in particular)
The series at a whole can be found here:
https://github.com/nickalcock/linux module-license
The patch splitter (not for upstreaming!) used to prepare these
commits can be found here:
https://github.com/nickalcock/linux mass-split
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Nick Alcock (7):
kbuild, PCI: versatile: remove MODULE_LICENSE in non-modules
kbuild, PCI: mobiveil: remove MODULE_LICENSE in non-modules
kbuild, PCI: tegra: remove MODULE_LICENSE in non-modules
kbuild, PCI: endpoint: remove MODULE_LICENSE in non-modules
kbuild, PCI: hip: remove MODULE_LICENSE in non-modules
kbuild, shpchp: remove MODULE_LICENSE in non-modules
kbuild, PCI: dwc: remove MODULE_LICENSE in non-modules
drivers/pci/controller/dwc/pcie-histb.c | 1 -
drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c | 1 -
drivers/pci/controller/pci-tegra.c | 1 -
drivers/pci/controller/pci-versatile.c | 1 -
drivers/pci/controller/pcie-hisi-error.c | 1 -
drivers/pci/endpoint/pci-ep-cfs.c | 1 -
drivers/pci/endpoint/pci-epc-core.c | 1 -
drivers/pci/endpoint/pci-epc-mem.c | 1 -
drivers/pci/endpoint/pci-epf-core.c | 1 -
drivers/pci/hotplug/shpchp_core.c | 1 -
10 files changed, 10 deletions(-)
I squashed these and applied to pci/kbuild for v6.3, thanks!
I added examples from the v1 posting to the commit log; let me know if
I got anything wrong:
On Thu, Feb 16, 2023 at 03:24:07PM +0000, Nick Alcock wrote:
Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.
So remove it in the files in this commit, none of which can be built as
modules.
Signed-off-by: Nick Alcock <redacted>
@@ -728,4 +728,3 @@ module_exit(pci_ep_cfs_exit);MODULE_DESCRIPTION("PCI EP CONFIGFS");MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");-MODULE_LICENSE("GPL v2");
@@ -260,4 +260,3 @@ EXPORT_SYMBOL_GPL(pci_epc_mem_free_addr);MODULE_DESCRIPTION("PCI EPC Address Space Management");MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");-MODULE_LICENSE("GPL v2");
On Thu, Feb 16, 2023 at 06:01:23PM +0000, Conor Dooley wrote:
On Thu, Feb 16, 2023 at 11:43:33AM -0600, Bjorn Helgaas wrote:
...
I noticed that (as requested!) Nick dropped the change to the microchip
driver.
Would you like me to resend patch 3/11 of [1] to clear the decks of
"incorrect" MODULE_LICENSE usage?
Thanks for noticing that. I removed MODULE_LICENSE from
pcie-microchip-host.c for now. We can easily add it back when [1] is
merged.
I haven't talked to Lorenzo about the series [1] is part of, but just
from the mailing list traffic, it looks like there are a couple open
questions (MSI config probing [2], "ranges" and address translation
stuff [3,4]), so that will likely miss this merge window.
Bjorn
On Thu, Feb 16, 2023 at 01:16:32PM -0600, Bjorn Helgaas wrote:
On Thu, Feb 16, 2023 at 06:01:23PM +0000, Conor Dooley wrote:
quoted
On Thu, Feb 16, 2023 at 11:43:33AM -0600, Bjorn Helgaas wrote:
quoted
...
I noticed that (as requested!) Nick dropped the change to the microchip
driver.
Would you like me to resend patch 3/11 of [1] to clear the decks of
"incorrect" MODULE_LICENSE usage?
Thanks for noticing that. I removed MODULE_LICENSE from
pcie-microchip-host.c for now. We can easily add it back when [1] is
merged.
I haven't talked to Lorenzo about the series [1] is part of, but just
from the mailing list traffic, it looks like there are a couple open
questions (MSI config probing [2], "ranges" and address translation
stuff [3,4]), so that will likely miss this merge window.
Yah, I know the series itself is going to miss the mw, which is why I
mentioned resending 3/11 specifically. It's grand though, will just have
to add the license back when the series gets respun.