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  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:   Sat, 1 Aug 2020 21:32:04 -0700
From:   Jakub Kicinski <kuba@...nel.org>
To:     Armin Wolf <W_Armin@....de>
Cc:     davem@...emloft.net, netdev@...r.kernel.org
Subject: Re: [PATCH 1/2 v2 net-next] 8390: Miscellaneous cleanups

On Sat, 1 Aug 2020 22:52:42 +0200 Armin Wolf wrote:
> Replace version string with MODULE_* macros.
> 
> Include necessary libraries.
> 
> Fix two minor coding-style issues.
> 
> Signed-off-by: Armin Wolf <W_Armin@....de>

This doesn't build but also

../drivers/net/ethernet/8390/lib8390.c:973:17: error: undefined identifier 'version'
In file included from ../include/linux/kernel.h:15,
                 from ../drivers/net/ethernet/8390/8390.c:9:
../drivers/net/ethernet/8390/lib8390.c: In function ‘ethdev_setup’:
../drivers/net/ethernet/8390/lib8390.c:973:17: error: ‘version’ undeclared (first use in this function)
  973 |   pr_info("%s", version);
      |                 ^~~~~~~
../include/linux/printk.h:368:34: note: in definition of macro ‘pr_info’
  368 |  printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
      |                                  ^~~~~~~~~~~
../drivers/net/ethernet/8390/lib8390.c:973:17: note: each undeclared identifier is reported only once for each function it appears in
  973 |   pr_info("%s", version);
      |                 ^~~~~~~
../include/linux/printk.h:368:34: note: in definition of macro ‘pr_info’
  368 |  printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
      |                                  ^~~~~~~~~~~
make[5]: *** [../scripts/Makefile.build:281: drivers/net/ethernet/8390/8390.o] Error 1
make[4]: *** [../scripts/Makefile.build:497: drivers/net/ethernet/8390] Error 2
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [../scripts/Makefile.build:497: drivers/net/ethernet] Error 2
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [../scripts/Makefile.build:497: drivers/net] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [/netdev/net-next/Makefile:1771: drivers] Error 2
make: *** [Makefile:185: __sub-make] Error 2

> diff --git a/drivers/net/ethernet/8390/8390.c b/drivers/net/ethernet/8390/8390.c
> index 0e0aa4016858..aabb637c1fbf 100644
> --- a/drivers/net/ethernet/8390/8390.c
> +++ b/drivers/net/ethernet/8390/8390.c
> @@ -1,11 +1,26 @@
>  // SPDX-License-Identifier: GPL-2.0-only
> -/* 8390 core for usual drivers */
> 
> -static const char version[] =
> -    "8390.c:v1.10cvs 9/23/94 Donald Becker (becker@...dis.gsfc.nasa.gov)\n";
> +#define DRV_NAME "8390"
> +#define DRV_DESCRIPTION "8390 core for usual drivers"
> +#define DRV_AUTHOR "Donald Becker (becker@...dis.gsfc.nasa.gov)"
> +#define DRV_VERSION "1.10cvs"
> +#define DRV_RELDATE "9/23/1994"
> +
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/init.h>
> +#include <linux/export.h>
> +
> +#include <linux/netdevice.h>
> +#include <linux/etherdevice.h>
> 
>  #include "lib8390.c"
> 
> +MODULE_AUTHOR(DRV_AUTHOR);
> +MODULE_DESCRIPTION(DRV_DESCRIPTION);
> +MODULE_VERSION(DRV_VERSION);

Please drop the driver version, it looks pretty meaningless and we are
moving away from driver versions in general.

> +MODULE_LICENSE("GPL");

Why move this up? It's common to have these at the end.

> +
>  int ei_open(struct net_device *dev)
>  {
>  	return __ei_open(dev);
> @@ -64,7 +79,7 @@ const struct net_device_ops ei_netdev_ops = {
>  	.ndo_get_stats		= ei_get_stats,
>  	.ndo_set_rx_mode	= ei_set_multicast_list,
>  	.ndo_validate_addr	= eth_validate_addr,
> -	.ndo_set_mac_address 	= eth_mac_addr,
> +	.ndo_set_mac_address	= eth_mac_addr,
>  #ifdef CONFIG_NET_POLL_CONTROLLER
>  	.ndo_poll_controller	= ei_poll,
>  #endif
> @@ -74,6 +89,7 @@ EXPORT_SYMBOL(ei_netdev_ops);
>  struct net_device *__alloc_ei_netdev(int size)
>  {
>  	struct net_device *dev = ____alloc_ei_netdev(size);
> +
>  	if (dev)
>  		dev->netdev_ops = &ei_netdev_ops;
>  	return dev;
> @@ -100,4 +116,3 @@ static void __exit ns8390_module_exit(void)
>  module_init(ns8390_module_init);
>  module_exit(ns8390_module_exit);
>  #endif /* MODULE */
> -MODULE_LICENSE("GPL");
> --
> 2.20.1

Powered by blists - more mailing lists