lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 22 Aug 2016 17:59:40 -0400
From:   Paul Gortmaker <paul.gortmaker@...driver.com>
To:     <linux-kernel@...r.kernel.org>
CC:     Paul Gortmaker <paul.gortmaker@...driver.com>,
        Bjorn Helgaas <bhelgaas@...gle.com>,
        Jingoo Han <jingoohan1@...il.com>,
        Krzysztof Kozlowski <k.kozlowski@...sung.com>,
        Kukjin Kim <kgene@...nel.org>, Ley Foon Tan <lftan@...era.com>,
        Lucas Stach <l.stach@...gutronix.de>,
        Pratyush Anand <pratyush.anand@...il.com>,
        Richard Zhu <Richard.Zhu@...escale.com>,
        Tom Long Nguyen <tom.l.nguyen@...el.com>,
        Will Deacon <will.deacon@....com>,
        <rfi@...ts.rocketboards.org>, <linux-pci@...r.kernel.org>,
        <linux-samsung-soc@...r.kernel.org>
Subject: [PATCH 0/8] PCI: more trivial demodularization of builtin code

This is another group of commits that was chosen since they really don't
change anything even at a binary object file level ; they just replace
module_init with device_initcall (which are identical), and remove some
MODULE_<blah> tags that are no-ops in code.  So the run time regression
risk is zero here.

More specifically, we are doing the following to these PCI files that
currently can only be built-in:

 -- remove the include of module.h ; replace it with init.h as req'd

 -- drop instances of MODULE_DEVICE_TABLE which is a no-op built-in.

 -- replace module_init (if present) with device_initcall, which is
    functionally identical once CPP has processed the source.

 -- drop instances of MODULE_LICENSE, MODULE_AUTHOR, MODULE_DESCRIPTION
    while ensuring the contained info is present in the file comments.

Build tested for allmodconfig on several arch, including ARM and ARM-64
on a recent linux-next baseline.

Some non-modular PCI files still remain with unused __exit and/or .remove
functions.  Those will be dealt with in a separate series after this.

Also note that we looked into modularizing some of the PCI_DW stuff at
an earlier time[1] but that ran into problems such as trying to create
unwind for hook_fault_code etc. that wasn't easily solved.  So we just
go with keeping the code runtime functionally equivalent to what it was.

Paul.

[1] https://lkml.kernel.org/r/1454889644-27830-1-git-send-email-paul.gortmaker@windriver.com

---

Cc: Bjorn Helgaas <bhelgaas@...gle.com>
Cc: Jingoo Han <jingoohan1@...il.com>
Cc: Krzysztof Kozlowski <k.kozlowski@...sung.com>
Cc: Kukjin Kim <kgene@...nel.org>
Cc: Ley Foon Tan <lftan@...era.com>
Cc: Lucas Stach <l.stach@...gutronix.de>
Cc: Pratyush Anand <pratyush.anand@...il.com>
Cc: Richard Zhu <Richard.Zhu@...escale.com>
Cc: Tom Long Nguyen <tom.l.nguyen@...el.com>
Cc: Will Deacon <will.deacon@....com>
Cc: rfi@...ts.rocketboards.org
Cc: linux-pci@...r.kernel.org
Cc: linux-samsung-soc@...r.kernel.org

Paul Gortmaker (8):
  PCI: altera: make msi explicitly non-modular
  PCI: altera: make it explicitly non-modular
  PCI: imx6: make it explicitly non-modular
  PCI: portdrv: make it explicitly non-modular
  PCI: spear13xx: make it explicitly non-modular
  PCI: designware: make host support explicitly non-modular
  PCI: exynos: make host support explicitly non-modular
  PCI: generic: make host-common explicitly non-modular

 drivers/pci/host/pci-exynos.c      |  7 +------
 drivers/pci/host/pci-host-common.c |  7 ++-----
 drivers/pci/host/pci-imx6.c        |  9 +--------
 drivers/pci/host/pcie-altera-msi.c | 10 +++++-----
 drivers/pci/host/pcie-altera.c     | 12 +++++-------
 drivers/pci/host/pcie-designware.c |  5 -----
 drivers/pci/host/pcie-spear13xx.c  | 11 ++---------
 drivers/pci/pcie/portdrv_pci.c     |  8 +-------
 8 files changed, 17 insertions(+), 52 deletions(-)

-- 
2.8.4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ