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

From: Ira Weiny
Date: Wed Mar 16 2022 - 23:34:20 EST


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 <ira.weiny@xxxxxxxxx>

>
> 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" <mst@xxxxxxxxxx>
> Cc: Jason Wang <jasowang@xxxxxxxxxx>
> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
> Cc: Jens Axboe <axboe@xxxxxxxxx>
> Cc: Amit Shah <amit@xxxxxxxxxx>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Eli Cohen <eli@xxxxxxxxxxxx>
> Cc: Saeed Mahameed <saeedm@xxxxxxxxxx>
> Cc: Leon Romanovsky <leon@xxxxxxxxxx>
> Cc: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
> Cc: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxx>
> Cc: Florian Westphal <fw@xxxxxxxxx>
> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxx>
> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>
> Cc: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx>
> Cc: Michał Mirosław <mirq-linux@xxxxxxxxxxxx>
> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
> Cc: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx>
> Cc: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx>
> Cc: Valentina Manea <valentina.manea.m@xxxxxxxxx>
> Cc: Shuah Khan <shuah@xxxxxxxxxx>
> Cc: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
> Cc: Jussi Kivilinna <jussi.kivilinna@xxxxxxxx>
> Cc: Joachim Fritschi <jfritschi@xxxxxxxxxx>
> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Karol Herbst <karolherbst@xxxxxxxxx>
> Cc: Pekka Paalanen <ppaalanen@xxxxxxxxx>
> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> Cc: Andy Lutomirski <luto@xxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> Cc: netfilter-devel@xxxxxxxxxxxxxxx
> Cc: coreteam@xxxxxxxxxxxxx
> Cc: netdev@xxxxxxxxxxxxxxx
> Cc: linux-block@xxxxxxxxxxxxxxx
> Cc: linux-crypto@xxxxxxxxxxxxxxx
> Cc: linux-rdma@xxxxxxxxxxxxxxx
> Cc: linux-scsi@xxxxxxxxxxxxxxx
> Cc: linux-usb@xxxxxxxxxxxxxxx
> Cc: nouveau@xxxxxxxxxxxxxxxxxxxxx
> Cc: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
> Cc: x86@xxxxxxxxxx
>
> 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(-)