Commit 41b8c2a3 authored by Randy Dunlap's avatar Randy Dunlap Committed by Martin K. Petersen
Browse files

scsi: virtio-scsi: 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

Link: https://lore.kernel.org/r/20220316192010.19001-6-rdunlap@infradead.org


Fixes: 4fe74b1c ("[SCSI] virtio-scsi: SCSI driver for QEMU based virtual machines")
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: "James E.J. Bottomley" <jejb@linux.ibm.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: linux-scsi@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: default avatarIra Weiny <ira.weiny@intel.com>
Acked-by: default avatarJason Wang <jasowang@redhat.com>
Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent fac952bb
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -988,7 +988,7 @@ static struct virtio_driver virtio_scsi_driver = {
	.remove = virtscsi_remove,
};

static int __init init(void)
static int __init virtio_scsi_init(void)
{
	int ret = -ENOMEM;

@@ -1020,14 +1020,14 @@ static int __init init(void)
	return ret;
}

static void __exit fini(void)
static void __exit virtio_scsi_fini(void)
{
	unregister_virtio_driver(&virtio_scsi_driver);
	mempool_destroy(virtscsi_cmd_pool);
	kmem_cache_destroy(virtscsi_cmd_cache);
}
module_init(init);
module_exit(fini);
module_init(virtio_scsi_init);
module_exit(virtio_scsi_fini);

MODULE_DEVICE_TABLE(virtio, id_table);
MODULE_DESCRIPTION("Virtio SCSI HBA driver");