Message ID | 20230216152410.4312-1-nick.alcock@oracle.com (mailing list archive) |
---|---|
Headers | show |
Series | MODULE_LICENSE removals, first tranche | expand |
[+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 <nick.alcock@oracle.com> 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 <mcgrof@kernel.org> Link: https://lore.kernel.org/r/20230216152410.4312-1-nick.alcock@oracle.com/ Signed-off-by: Nick Alcock <nick.alcock@oracle.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Cc: Luis Chamberlain <mcgrof@kernel.org> Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com> Cc: Rob Herring <robh@kernel.org> Cc: Lorenzo Pieralisi <lpieralisi@kernel.org> diff --git a/drivers/pci/controller/dwc/pcie-histb.c b/drivers/pci/controller/dwc/pcie-histb.c index 43c27812dd6d..927ae05dc920 100644 --- a/drivers/pci/controller/dwc/pcie-histb.c +++ b/drivers/pci/controller/dwc/pcie-histb.c @@ -450,4 +450,3 @@ static struct platform_driver histb_pcie_platform_driver = { module_platform_driver(histb_pcie_platform_driver); MODULE_DESCRIPTION("HiSilicon STB PCIe host controller driver"); -MODULE_LICENSE("GPL v2"); diff --git a/drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c b/drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c index f6fcd95c2bf5..c5bb87ff6d9a 100644 --- a/drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c +++ b/drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c @@ -56,6 +56,5 @@ static struct platform_driver mobiveil_pcie_driver = { builtin_platform_driver(mobiveil_pcie_driver); -MODULE_LICENSE("GPL v2"); MODULE_DESCRIPTION("Mobiveil PCIe host controller driver"); MODULE_AUTHOR("Subrahmanya Lingappa <l.subrahmanya@mobiveil.co.in>"); diff --git a/drivers/pci/controller/pci-tegra.c b/drivers/pci/controller/pci-tegra.c index 929f9363e94b..5bb05564d6f8 100644 --- a/drivers/pci/controller/pci-tegra.c +++ b/drivers/pci/controller/pci-tegra.c @@ -2814,4 +2814,3 @@ static struct platform_driver tegra_pcie_driver = { .remove = tegra_pcie_remove, }; module_platform_driver(tegra_pcie_driver); -MODULE_LICENSE("GPL"); diff --git a/drivers/pci/controller/pci-versatile.c b/drivers/pci/controller/pci-versatile.c index 7991d334e0f1..e9a6758fe2c1 100644 --- a/drivers/pci/controller/pci-versatile.c +++ b/drivers/pci/controller/pci-versatile.c @@ -169,4 +169,3 @@ static struct platform_driver versatile_pci_driver = { module_platform_driver(versatile_pci_driver); MODULE_DESCRIPTION("Versatile PCI driver"); -MODULE_LICENSE("GPL v2"); diff --git a/drivers/pci/controller/pcie-hisi-error.c b/drivers/pci/controller/pcie-hisi-error.c index 7959c9c8d2bc..7d88eb696b06 100644 --- a/drivers/pci/controller/pcie-hisi-error.c +++ b/drivers/pci/controller/pcie-hisi-error.c @@ -324,4 +324,3 @@ static struct platform_driver hisi_pcie_error_handler_driver = { module_platform_driver(hisi_pcie_error_handler_driver); MODULE_DESCRIPTION("HiSilicon HIP PCIe controller error handling driver"); -MODULE_LICENSE("GPL v2"); diff --git a/drivers/pci/endpoint/pci-ep-cfs.c b/drivers/pci/endpoint/pci-ep-cfs.c index d4850bdd837f..4b8ac0ac84d5 100644 --- a/drivers/pci/endpoint/pci-ep-cfs.c +++ b/drivers/pci/endpoint/pci-ep-cfs.c @@ -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"); diff --git a/drivers/pci/endpoint/pci-epc-core.c b/drivers/pci/endpoint/pci-epc-core.c index 2542196e8c3d..dd750ad29485 100644 --- a/drivers/pci/endpoint/pci-epc-core.c +++ b/drivers/pci/endpoint/pci-epc-core.c @@ -861,4 +861,3 @@ module_exit(pci_epc_exit); MODULE_DESCRIPTION("PCI EPC Library"); MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>"); -MODULE_LICENSE("GPL v2"); diff --git a/drivers/pci/endpoint/pci-epc-mem.c b/drivers/pci/endpoint/pci-epc-mem.c index a97b56a6d2db..7dcf6f480b82 100644 --- a/drivers/pci/endpoint/pci-epc-mem.c +++ b/drivers/pci/endpoint/pci-epc-mem.c @@ -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"); diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c index 9ed556936f48..2036e38be093 100644 --- a/drivers/pci/endpoint/pci-epf-core.c +++ b/drivers/pci/endpoint/pci-epf-core.c @@ -568,4 +568,3 @@ module_exit(pci_epf_exit); MODULE_DESCRIPTION("PCI EPF Library"); MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>"); -MODULE_LICENSE("GPL v2"); diff --git a/drivers/pci/hotplug/shpchp_core.c b/drivers/pci/hotplug/shpchp_core.c index 53692b048301..56c7795ed890 100644 --- a/drivers/pci/hotplug/shpchp_core.c +++ b/drivers/pci/hotplug/shpchp_core.c @@ -32,7 +32,6 @@ int shpchp_poll_time; MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); -MODULE_LICENSE("GPL"); module_param(shpchp_debug, bool, 0644); module_param(shpchp_poll_mode, bool, 0644);
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: > > 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: 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, Conor. 1 - https://lore.kernel.org/linux-pci/20230111125323.1911373-4-daire.mcnamara@microchip.com/
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 > 1 - https://lore.kernel.org/linux-pci/20230111125323.1911373-4-daire.mcnamara@microchip.com/ [2] https://lore.kernel.org/r/Y9uiWscjKQpD7JvE@lpieralisi [3] https://lore.kernel.org/r/Y9uebWEvuJYO31j1@lpieralisi [4] https://lore.kernel.org/r/8dfc14be-a978-d84b-52e4-d421599fc783@arm.com
[Cc: slashed] On 16 Feb 2023, Bjorn Helgaas said: > [+cc PCI folks, who got the patches but not this cover letter, and > participants from the v1 posting] Oh I'm sorry! I think I need to arrange to augment the cover letter with Cc:s too, to add all the mailing lists to it. This is extra-hard if (as here) I'm splitting up the original patch series into pieces... ... or just try to do without a cover letter, and put all the stuff which should be in the cover letter into the bit after the commit log text. That might be simpler, since I could just stuff it unconditionally into every mail without alteration.
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: > > 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. 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. > > 1 - https://lore.kernel.org/linux-pci/20230111125323.1911373-4-daire.mcnamara@microchip.com/ > > [2] https://lore.kernel.org/r/Y9uiWscjKQpD7JvE@lpieralisi > [3] https://lore.kernel.org/r/Y9uebWEvuJYO31j1@lpieralisi > [4] https://lore.kernel.org/r/8dfc14be-a978-d84b-52e4-d421599fc783@arm.com