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-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 22 Feb 2016 11:27:55 +0000
From:	Stefano Stabellini <stefano.stabellini@...citrix.com>
To:	Paul Gortmaker <paul.gortmaker@...driver.com>
CC:	<linux-kernel@...r.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
	Boris Ostrovsky <boris.ostrovsky@...cle.com>,
	"David Vrabel" <david.vrabel@...rix.com>,
	Stefano Stabellini <stefano.stabellini@...citrix.com>,
	<xen-devel@...ts.xenproject.org>
Subject: Re: [PATCH v2 5/5] drivers/xen: make platform-pci.c explicitly
 non-modular

On Sun, 21 Feb 2016, Paul Gortmaker wrote:
> The Kconfig currently controlling compilation of this code is:
> 
> arch/x86/xen/Kconfig:config XEN_PVHVM
> arch/x86/xen/Kconfig:   def_bool y
> 
> ...meaning that it currently is not being built as a module by anyone.
> 
> Lets remove the modular code that is essentially orphaned, so that
> when reading the driver there is no doubt it is builtin-only.
> 
> Since module_init translates to device_initcall in the non-modular
> case, the init ordering remains unchanged with this commit.
> 
> Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
> 
> We also delete the MODULE_LICENSE tag etc. since all that information
> was (or is now) contained at the top of the file in the comments.
> 
> In removing "module" from the init fcn name, we observe a namespace
> collision with the probe function, so we use "probe" in the name of
> the probe function, and "init" in the registration fcn, as per
> standard convention, as suggested by Stefano.
> 
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
> Cc: Boris Ostrovsky <boris.ostrovsky@...cle.com>
> Cc: David Vrabel <david.vrabel@...rix.com>
> Cc: Stefano Stabellini <stefano.stabellini@...citrix.com>
> Cc: xen-devel@...ts.xenproject.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@...driver.com>

Reviewed-by: Stefano Stabellini <stefano.stabellini@...citrix.com>


>  drivers/xen/platform-pci.c | 22 +++++++++-------------
>  1 file changed, 9 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/xen/platform-pci.c b/drivers/xen/platform-pci.c
> index 3454973dc3bb..cf9666680c8c 100644
> --- a/drivers/xen/platform-pci.c
> +++ b/drivers/xen/platform-pci.c
> @@ -2,6 +2,9 @@
>   * platform-pci.c
>   *
>   * Xen platform PCI device driver
> + *
> + * Authors: ssmith@...source.com and stefano.stabellini@...citrix.com
> + *
>   * Copyright (c) 2005, Intel Corporation.
>   * Copyright (c) 2007, XenSource Inc.
>   * Copyright (c) 2010, Citrix
> @@ -24,7 +27,7 @@
>  
>  #include <linux/interrupt.h>
>  #include <linux/io.h>
> -#include <linux/module.h>
> +#include <linux/init.h>
>  #include <linux/pci.h>
>  
>  #include <xen/platform_pci.h>
> @@ -36,10 +39,6 @@
>  
>  #define DRV_NAME    "xen-platform-pci"
>  
> -MODULE_AUTHOR("ssmith@...source.com and stefano.stabellini@...citrix.com");
> -MODULE_DESCRIPTION("Xen platform PCI device");
> -MODULE_LICENSE("GPL");
> -
>  static unsigned long platform_mmio;
>  static unsigned long platform_mmio_alloc;
>  static unsigned long platform_mmiolen;
> @@ -101,8 +100,8 @@ static int platform_pci_resume(struct pci_dev *pdev)
>  	return 0;
>  }
>  
> -static int platform_pci_init(struct pci_dev *pdev,
> -			     const struct pci_device_id *ent)
> +static int platform_pci_probe(struct pci_dev *pdev,
> +			      const struct pci_device_id *ent)
>  {
>  	int i, ret;
>  	long ioaddr;
> @@ -181,20 +180,17 @@ static struct pci_device_id platform_pci_tbl[] = {
>  	{0,}
>  };
>  
> -MODULE_DEVICE_TABLE(pci, platform_pci_tbl);
> -
>  static struct pci_driver platform_driver = {
>  	.name =           DRV_NAME,
> -	.probe =          platform_pci_init,
> +	.probe =          platform_pci_probe,
>  	.id_table =       platform_pci_tbl,
>  #ifdef CONFIG_PM
>  	.resume_early =   platform_pci_resume,
>  #endif
>  };
>  
> -static int __init platform_pci_module_init(void)
> +static int __init platform_pci_init(void)
>  {
>  	return pci_register_driver(&platform_driver);
>  }
> -
> -module_init(platform_pci_module_init);
> +device_initcall(platform_pci_init);
> -- 
> 2.6.1
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ