2022-03-17 03:36:35

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH 0/9] treewide: eliminate anonymous module_init & module_exit

There are a number of drivers that use "module_init(init)" and
"module_exit(exit)", which are anonymous names and can lead to
confusion or ambiguity when reading System.map, crashes/oops/bugs,
or an initcall_debug log.

Give each of these init and exit functions unique driver-specific
names to eliminate the anonymous names.

Example 1: (System.map)
ffffffff832fc78c t init
ffffffff832fc79e t init
ffffffff832fc8f8 t init
ffffffff832fca05 t init
ffffffff832fcbd2 t init
ffffffff83328f0e t init
ffffffff8332c5b1 t init
ffffffff8332d9eb t init
ffffffff8332f0aa t init
ffffffff83330e25 t init
ffffffff833317a5 t init
ffffffff8333dd6b t init

Example 2: (initcall_debug log)
calling init+0x0/0x12 @ 1
initcall init+0x0/0x12 returned 0 after 15 usecs
calling init+0x0/0x60 @ 1
initcall init+0x0/0x60 returned 0 after 2 usecs
calling init+0x0/0x9a @ 1
initcall init+0x0/0x9a returned 0 after 74 usecs
calling init+0x0/0x73 @ 1
initcall init+0x0/0x73 returned 0 after 6 usecs
calling init+0x0/0x73 @ 1
initcall init+0x0/0x73 returned 0 after 4 usecs
calling init+0x0/0xf5 @ 1
initcall init+0x0/0xf5 returned 0 after 27 usecs
calling init+0x0/0x7d @ 1
initcall init+0x0/0x7d returned 0 after 11 usecs
calling init+0x0/0xc9 @ 1
initcall init+0x0/0xc9 returned 0 after 19 usecs
calling init+0x0/0x9d @ 1
initcall init+0x0/0x9d returned 0 after 37 usecs
calling init+0x0/0x63f @ 1
initcall init+0x0/0x63f returned 0 after 411 usecs
calling init+0x0/0x171 @ 1
initcall init+0x0/0x171 returned 0 after 61 usecs
calling init+0x0/0xef @ 1
initcall init+0x0/0xef returned 0 after 3 usecs

Cc: "Michael S. Tsirkin" <[email protected]>
Cc: Jason Wang <[email protected]>
Cc: Paolo Bonzini <[email protected]>
Cc: Stefan Hajnoczi <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Amit Shah <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Eli Cohen <[email protected]>
Cc: Saeed Mahameed <[email protected]>
Cc: Leon Romanovsky <[email protected]>
Cc: Pablo Neira Ayuso <[email protected]>
Cc: Jozsef Kadlecsik <[email protected]>
Cc: Florian Westphal <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Jakub Kicinski <[email protected]>
Cc: "James E.J. Bottomley" <[email protected]>
Cc: "Martin K. Petersen" <[email protected]>
Cc: Felipe Balbi <[email protected]>
Cc: Michał Mirosław <[email protected]>
Cc: Sebastian Andrzej Siewior <[email protected]>
Cc: Krzysztof Opasiak <[email protected]>
Cc: Igor Kotrasinski <[email protected]>
Cc: Valentina Manea <[email protected]>
Cc: Shuah Khan <[email protected]>
Cc: Shuah Khan <[email protected]>
Cc: Jussi Kivilinna <[email protected]>
Cc: Joachim Fritschi <[email protected]>
Cc: Herbert Xu <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Karol Herbst <[email protected]>
Cc: Pekka Paalanen <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]

patches:
[PATCH 1/9] virtio_blk: eliminate anonymous module_init & module_exit
[PATCH 2/9] virtio_console: eliminate anonymous module_init & module_exit
[PATCH 3/9] net: mlx5: eliminate anonymous module_init & module_exit
[PATCH 4/9] netfilter: h323: eliminate anonymous module_init & module_exit
[PATCH 5/9] virtio-scsi: eliminate anonymous module_init & module_exit
[PATCH 6/9] usb: gadget: eliminate anonymous module_init & module_exit
[PATCH 7/9] usb: usbip: eliminate anonymous module_init & module_exit
[PATCH 8/9] x86/crypto: eliminate anonymous module_init & module_exit
[PATCH 9/9] testmmiotrace: eliminate anonymous module_init & module_exit

diffstat:
arch/x86/crypto/blowfish_glue.c | 8 ++++----
arch/x86/crypto/camellia_glue.c | 8 ++++----
arch/x86/crypto/serpent_avx2_glue.c | 8 ++++----
arch/x86/crypto/twofish_glue.c | 8 ++++----
arch/x86/crypto/twofish_glue_3way.c | 8 ++++----
arch/x86/mm/testmmiotrace.c | 8 ++++----
drivers/block/virtio_blk.c | 8 ++++----
drivers/char/virtio_console.c | 8 ++++----
drivers/net/ethernet/mellanox/mlx5/core/main.c | 8 ++++----
drivers/scsi/virtio_scsi.c | 8 ++++----
drivers/usb/gadget/legacy/inode.c | 8 ++++----
drivers/usb/gadget/legacy/serial.c | 10 +++++-----
drivers/usb/gadget/udc/dummy_hcd.c | 8 ++++----
drivers/usb/usbip/vudc_main.c | 8 ++++----
net/ipv4/netfilter/nf_nat_h323.c | 8 ++++----
15 files changed, 61 insertions(+), 61 deletions(-)


2022-03-17 04:13:39

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH 7/9] usb: usbip: eliminate anonymous module_init & module_exit

Eliminate anonymous module_init() and module_exit(), which can lead to
confusion or ambiguity when reading System.map, crashes/oops/bugs,
or an initcall_debug log.

Give each of these init and exit functions unique driver-specific
names to eliminate the anonymous names.

Example 1: (System.map)
ffffffff832fc78c t init
ffffffff832fc79e t init
ffffffff832fc8f8 t init

Example 2: (initcall_debug log)
calling init+0x0/0x12 @ 1
initcall init+0x0/0x12 returned 0 after 15 usecs
calling init+0x0/0x60 @ 1
initcall init+0x0/0x60 returned 0 after 2 usecs
calling init+0x0/0x9a @ 1
initcall init+0x0/0x9a returned 0 after 74 usecs

Fixes: 80fd9cd52de6 ("usbip: vudc: Add VUDC main file")
Signed-off-by: Randy Dunlap <[email protected]>
Cc: Krzysztof Opasiak <[email protected]>
Cc: Igor Kotrasinski <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Valentina Manea <[email protected]>
Cc: Shuah Khan <[email protected]>
Cc: Shuah Khan <[email protected]>
Cc: [email protected]
---
drivers/usb/usbip/vudc_main.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

--- lnx-517-rc8.orig/drivers/usb/usbip/vudc_main.c
+++ lnx-517-rc8/drivers/usb/usbip/vudc_main.c
@@ -28,7 +28,7 @@ static struct platform_driver vudc_drive

static struct list_head vudc_devices = LIST_HEAD_INIT(vudc_devices);

-static int __init init(void)
+static int __init vudc_init(void)
{
int retval = -ENOMEM;
int i;
@@ -86,9 +86,9 @@ cleanup:
out:
return retval;
}
-module_init(init);
+module_init(vudc_init);

-static void __exit cleanup(void)
+static void __exit vudc_cleanup(void)
{
struct vudc_device *udc_dev = NULL, *udc_dev2 = NULL;

@@ -103,7 +103,7 @@ static void __exit cleanup(void)
}
platform_driver_unregister(&vudc_driver);
}
-module_exit(cleanup);
+module_exit(vudc_cleanup);

MODULE_DESCRIPTION("USB over IP Device Controller");
MODULE_AUTHOR("Krzysztof Opasiak, Karol Kosik, Igor Kotrasinski");

2022-03-17 04:30:44

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH 4/9] netfilter: h323: eliminate anonymous module_init & module_exit

Eliminate anonymous module_init() and module_exit(), which can lead to
confusion or ambiguity when reading System.map, crashes/oops/bugs,
or an initcall_debug log.

Give each of these init and exit functions unique driver-specific
names to eliminate the anonymous names.

Example 1: (System.map)
ffffffff832fc78c t init
ffffffff832fc79e t init
ffffffff832fc8f8 t init

Example 2: (initcall_debug log)
calling init+0x0/0x12 @ 1
initcall init+0x0/0x12 returned 0 after 15 usecs
calling init+0x0/0x60 @ 1
initcall init+0x0/0x60 returned 0 after 2 usecs
calling init+0x0/0x9a @ 1
initcall init+0x0/0x9a returned 0 after 74 usecs

Fixes: f587de0e2feb ("[NETFILTER]: nf_conntrack/nf_nat: add H.323 helper port")
Signed-off-by: Randy Dunlap <[email protected]>
Cc: Pablo Neira Ayuso <[email protected]>
Cc: Jozsef Kadlecsik <[email protected]>
Cc: Florian Westphal <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: "David S. Miller" <[email protected]>
Cc: Jakub Kicinski <[email protected]>
Cc: [email protected]
---
net/ipv4/netfilter/nf_nat_h323.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

--- lnx-517-rc8.orig/net/ipv4/netfilter/nf_nat_h323.c
+++ lnx-517-rc8/net/ipv4/netfilter/nf_nat_h323.c
@@ -580,7 +580,7 @@ static struct nf_ct_helper_expectfn call
};

/****************************************************************************/
-static int __init init(void)
+static int __init nf_nat_h323_init(void)
{
BUG_ON(set_h245_addr_hook != NULL);
BUG_ON(set_h225_addr_hook != NULL);
@@ -607,7 +607,7 @@ static int __init init(void)
}

/****************************************************************************/
-static void __exit fini(void)
+static void __exit nf_nat_h323_fini(void)
{
RCU_INIT_POINTER(set_h245_addr_hook, NULL);
RCU_INIT_POINTER(set_h225_addr_hook, NULL);
@@ -624,8 +624,8 @@ static void __exit fini(void)
}

/****************************************************************************/
-module_init(init);
-module_exit(fini);
+module_init(nf_nat_h323_init);
+module_exit(nf_nat_h323_fini);

MODULE_AUTHOR("Jing Min Zhao <[email protected]>");
MODULE_DESCRIPTION("H.323 NAT helper");

2022-03-17 05:37:55

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH 3/9] net: mlx5: eliminate anonymous module_init & module_exit

Eliminate anonymous module_init() and module_exit(), which can lead to
confusion or ambiguity when reading System.map, crashes/oops/bugs,
or an initcall_debug log.

Give each of these init and exit functions unique driver-specific
names to eliminate the anonymous names.

Example 1: (System.map)
ffffffff832fc78c t init
ffffffff832fc79e t init
ffffffff832fc8f8 t init

Example 2: (initcall_debug log)
calling init+0x0/0x12 @ 1
initcall init+0x0/0x12 returned 0 after 15 usecs
calling init+0x0/0x60 @ 1
initcall init+0x0/0x60 returned 0 after 2 usecs
calling init+0x0/0x9a @ 1
initcall init+0x0/0x9a returned 0 after 74 usecs

Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
Signed-off-by: Randy Dunlap <[email protected]>
Cc: Eli Cohen <[email protected]>
Cc: Saeed Mahameed <[email protected]>
Cc: [email protected]
Cc: Leon Romanovsky <[email protected]>
Cc: [email protected]
---
drivers/net/ethernet/mellanox/mlx5/core/main.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

--- lnx-517-rc8.orig/drivers/net/ethernet/mellanox/mlx5/core/main.c
+++ lnx-517-rc8/drivers/net/ethernet/mellanox/mlx5/core/main.c
@@ -1893,7 +1893,7 @@ static void mlx5_core_verify_params(void
}
}

-static int __init init(void)
+static int __init mlx5_init(void)
{
int err;

@@ -1929,7 +1929,7 @@ err_debug:
return err;
}

-static void __exit cleanup(void)
+static void __exit mlx5_cleanup(void)
{
mlx5e_cleanup();
mlx5_sf_driver_unregister();
@@ -1937,5 +1937,5 @@ static void __exit cleanup(void)
mlx5_unregister_debugfs();
}

-module_init(init);
-module_exit(cleanup);
+module_init(mlx5_init);
+module_exit(mlx5_cleanup);

2022-03-17 06:46:41

by Ira Weiny

[permalink] [raw]
Subject: Re: [PATCH 0/9] treewide: eliminate anonymous module_init & module_exit

On Wed, Mar 16, 2022 at 12:20:01PM -0700, Randy Dunlap wrote:
> There are a number of drivers that use "module_init(init)" and
> "module_exit(exit)", which are anonymous names and can lead to
> confusion or ambiguity when reading System.map, crashes/oops/bugs,
> or an initcall_debug log.
>
> Give each of these init and exit functions unique driver-specific
> names to eliminate the anonymous names.

I'm not fully sure about the Fixes tags but I don't see that it hurts anything.

For the series:

Reviewed-by: Ira Weiny <[email protected]>

>
> Example 1: (System.map)
> ffffffff832fc78c t init
> ffffffff832fc79e t init
> ffffffff832fc8f8 t init
> ffffffff832fca05 t init
> ffffffff832fcbd2 t init
> ffffffff83328f0e t init
> ffffffff8332c5b1 t init
> ffffffff8332d9eb t init
> ffffffff8332f0aa t init
> ffffffff83330e25 t init
> ffffffff833317a5 t init
> ffffffff8333dd6b t init
>
> Example 2: (initcall_debug log)
> calling init+0x0/0x12 @ 1
> initcall init+0x0/0x12 returned 0 after 15 usecs
> calling init+0x0/0x60 @ 1
> initcall init+0x0/0x60 returned 0 after 2 usecs
> calling init+0x0/0x9a @ 1
> initcall init+0x0/0x9a returned 0 after 74 usecs
> calling init+0x0/0x73 @ 1
> initcall init+0x0/0x73 returned 0 after 6 usecs
> calling init+0x0/0x73 @ 1
> initcall init+0x0/0x73 returned 0 after 4 usecs
> calling init+0x0/0xf5 @ 1
> initcall init+0x0/0xf5 returned 0 after 27 usecs
> calling init+0x0/0x7d @ 1
> initcall init+0x0/0x7d returned 0 after 11 usecs
> calling init+0x0/0xc9 @ 1
> initcall init+0x0/0xc9 returned 0 after 19 usecs
> calling init+0x0/0x9d @ 1
> initcall init+0x0/0x9d returned 0 after 37 usecs
> calling init+0x0/0x63f @ 1
> initcall init+0x0/0x63f returned 0 after 411 usecs
> calling init+0x0/0x171 @ 1
> initcall init+0x0/0x171 returned 0 after 61 usecs
> calling init+0x0/0xef @ 1
> initcall init+0x0/0xef returned 0 after 3 usecs
>
> Cc: "Michael S. Tsirkin" <[email protected]>
> Cc: Jason Wang <[email protected]>
> Cc: Paolo Bonzini <[email protected]>
> Cc: Stefan Hajnoczi <[email protected]>
> Cc: Jens Axboe <[email protected]>
> Cc: Amit Shah <[email protected]>
> Cc: Arnd Bergmann <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: Eli Cohen <[email protected]>
> Cc: Saeed Mahameed <[email protected]>
> Cc: Leon Romanovsky <[email protected]>
> Cc: Pablo Neira Ayuso <[email protected]>
> Cc: Jozsef Kadlecsik <[email protected]>
> Cc: Florian Westphal <[email protected]>
> Cc: "David S. Miller" <[email protected]>
> Cc: Jakub Kicinski <[email protected]>
> Cc: "James E.J. Bottomley" <[email protected]>
> Cc: "Martin K. Petersen" <[email protected]>
> Cc: Felipe Balbi <[email protected]>
> Cc: Michał Mirosław <[email protected]>
> Cc: Sebastian Andrzej Siewior <[email protected]>
> Cc: Krzysztof Opasiak <[email protected]>
> Cc: Igor Kotrasinski <[email protected]>
> Cc: Valentina Manea <[email protected]>
> Cc: Shuah Khan <[email protected]>
> Cc: Shuah Khan <[email protected]>
> Cc: Jussi Kivilinna <[email protected]>
> Cc: Joachim Fritschi <[email protected]>
> Cc: Herbert Xu <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Steven Rostedt <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Karol Herbst <[email protected]>
> Cc: Pekka Paalanen <[email protected]>
> Cc: Dave Hansen <[email protected]>
> Cc: Andy Lutomirski <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Borislav Petkov <[email protected]>
> Cc: "H. Peter Anvin" <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
>
> patches:
> [PATCH 1/9] virtio_blk: eliminate anonymous module_init & module_exit
> [PATCH 2/9] virtio_console: eliminate anonymous module_init & module_exit
> [PATCH 3/9] net: mlx5: eliminate anonymous module_init & module_exit
> [PATCH 4/9] netfilter: h323: eliminate anonymous module_init & module_exit
> [PATCH 5/9] virtio-scsi: eliminate anonymous module_init & module_exit
> [PATCH 6/9] usb: gadget: eliminate anonymous module_init & module_exit
> [PATCH 7/9] usb: usbip: eliminate anonymous module_init & module_exit
> [PATCH 8/9] x86/crypto: eliminate anonymous module_init & module_exit
> [PATCH 9/9] testmmiotrace: eliminate anonymous module_init & module_exit
>
> diffstat:
> arch/x86/crypto/blowfish_glue.c | 8 ++++----
> arch/x86/crypto/camellia_glue.c | 8 ++++----
> arch/x86/crypto/serpent_avx2_glue.c | 8 ++++----
> arch/x86/crypto/twofish_glue.c | 8 ++++----
> arch/x86/crypto/twofish_glue_3way.c | 8 ++++----
> arch/x86/mm/testmmiotrace.c | 8 ++++----
> drivers/block/virtio_blk.c | 8 ++++----
> drivers/char/virtio_console.c | 8 ++++----
> drivers/net/ethernet/mellanox/mlx5/core/main.c | 8 ++++----
> drivers/scsi/virtio_scsi.c | 8 ++++----
> drivers/usb/gadget/legacy/inode.c | 8 ++++----
> drivers/usb/gadget/legacy/serial.c | 10 +++++-----
> drivers/usb/gadget/udc/dummy_hcd.c | 8 ++++----
> drivers/usb/usbip/vudc_main.c | 8 ++++----
> net/ipv4/netfilter/nf_nat_h323.c | 8 ++++----
> 15 files changed, 61 insertions(+), 61 deletions(-)

2022-03-17 17:36:57

by Jens Axboe

[permalink] [raw]
Subject: Re: (subset) [PATCH 0/9] treewide: eliminate anonymous module_init & module_exit

On Wed, 16 Mar 2022 12:20:01 -0700, Randy Dunlap wrote:
> There are a number of drivers that use "module_init(init)" and
> "module_exit(exit)", which are anonymous names and can lead to
> confusion or ambiguity when reading System.map, crashes/oops/bugs,
> or an initcall_debug log.
>
> Give each of these init and exit functions unique driver-specific
> names to eliminate the anonymous names.
>
> [...]

Applied, thanks!

[1/9] virtio_blk: eliminate anonymous module_init & module_exit
commit: bcfe9b6cbb4438b8c1cc4bd475221652c8f9301b

Best regards,
--
Jens Axboe


2022-03-17 20:05:45

by Pablo Neira Ayuso

[permalink] [raw]
Subject: Re: [PATCH 4/9] netfilter: h323: eliminate anonymous module_init & module_exit

On Wed, Mar 16, 2022 at 12:20:05PM -0700, Randy Dunlap wrote:
> Eliminate anonymous module_init() and module_exit(), which can lead to
> confusion or ambiguity when reading System.map, crashes/oops/bugs,
> or an initcall_debug log.
>
> Give each of these init and exit functions unique driver-specific
> names to eliminate the anonymous names.
>
> Example 1: (System.map)
> ffffffff832fc78c t init
> ffffffff832fc79e t init
> ffffffff832fc8f8 t init
>
> Example 2: (initcall_debug log)
> calling init+0x0/0x12 @ 1
> initcall init+0x0/0x12 returned 0 after 15 usecs
> calling init+0x0/0x60 @ 1
> initcall init+0x0/0x60 returned 0 after 2 usecs
> calling init+0x0/0x9a @ 1
> initcall init+0x0/0x9a returned 0 after 74 usecs

LGTM.

Should I route this through the netfilter tree?

> Fixes: f587de0e2feb ("[NETFILTER]: nf_conntrack/nf_nat: add H.323 helper port")
> Signed-off-by: Randy Dunlap <[email protected]>
> Cc: Pablo Neira Ayuso <[email protected]>
> Cc: Jozsef Kadlecsik <[email protected]>
> Cc: Florian Westphal <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: "David S. Miller" <[email protected]>
> Cc: Jakub Kicinski <[email protected]>
> Cc: [email protected]
> ---
> net/ipv4/netfilter/nf_nat_h323.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> --- lnx-517-rc8.orig/net/ipv4/netfilter/nf_nat_h323.c
> +++ lnx-517-rc8/net/ipv4/netfilter/nf_nat_h323.c
> @@ -580,7 +580,7 @@ static struct nf_ct_helper_expectfn call
> };
>
> /****************************************************************************/
> -static int __init init(void)
> +static int __init nf_nat_h323_init(void)
> {
> BUG_ON(set_h245_addr_hook != NULL);
> BUG_ON(set_h225_addr_hook != NULL);
> @@ -607,7 +607,7 @@ static int __init init(void)
> }
>
> /****************************************************************************/
> -static void __exit fini(void)
> +static void __exit nf_nat_h323_fini(void)
> {
> RCU_INIT_POINTER(set_h245_addr_hook, NULL);
> RCU_INIT_POINTER(set_h225_addr_hook, NULL);
> @@ -624,8 +624,8 @@ static void __exit fini(void)
> }
>
> /****************************************************************************/
> -module_init(init);
> -module_exit(fini);
> +module_init(nf_nat_h323_init);
> +module_exit(nf_nat_h323_fini);
>
> MODULE_AUTHOR("Jing Min Zhao <[email protected]>");
> MODULE_DESCRIPTION("H.323 NAT helper");

2022-03-21 09:02:49

by Pablo Neira Ayuso

[permalink] [raw]
Subject: Re: [PATCH 4/9] netfilter: h323: eliminate anonymous module_init & module_exit

[ trimmed off Cc list ]

On Wed, Mar 16, 2022 at 12:20:05PM -0700, Randy Dunlap wrote:
> Eliminate anonymous module_init() and module_exit(), which can lead to
> confusion or ambiguity when reading System.map, crashes/oops/bugs,
> or an initcall_debug log.
>
> Give each of these init and exit functions unique driver-specific
> names to eliminate the anonymous names.
>
> Example 1: (System.map)
> ffffffff832fc78c t init
> ffffffff832fc79e t init
> ffffffff832fc8f8 t init
>
> Example 2: (initcall_debug log)
> calling init+0x0/0x12 @ 1
> initcall init+0x0/0x12 returned 0 after 15 usecs
> calling init+0x0/0x60 @ 1
> initcall init+0x0/0x60 returned 0 after 2 usecs
> calling init+0x0/0x9a @ 1
> initcall init+0x0/0x9a returned 0 after 74 usecs

Applied to nf-next, thanks.