| From 61615b524e19556e21357d9e708f0eaefa369bff Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 16 Mar 2022 12:20:03 -0700 |
| Subject: virtio_console: eliminate anonymous module_init & module_exit |
| |
| From: Randy Dunlap <rdunlap@infradead.org> |
| |
| [ Upstream commit fefb8a2a941338d871e2d83fbd65fbfa068857bd ] |
| |
| 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 |
| |
| Signed-off-by: Randy Dunlap <rdunlap@infradead.org> |
| Reviewed-by: Amit Shah <amit@kernel.org> |
| Cc: virtualization@lists.linux-foundation.org |
| Cc: Arnd Bergmann <arnd@arndb.de> |
| Link: https://lore.kernel.org/r/20220316192010.19001-3-rdunlap@infradead.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/char/virtio_console.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c |
| index f864b17be7e3..35025f283bf6 100644 |
| --- a/drivers/char/virtio_console.c |
| +++ b/drivers/char/virtio_console.c |
| @@ -2245,7 +2245,7 @@ static struct virtio_driver virtio_rproc_serial = { |
| .remove = virtcons_remove, |
| }; |
| |
| -static int __init init(void) |
| +static int __init virtio_console_init(void) |
| { |
| int err; |
| |
| @@ -2280,7 +2280,7 @@ static int __init init(void) |
| return err; |
| } |
| |
| -static void __exit fini(void) |
| +static void __exit virtio_console_fini(void) |
| { |
| reclaim_dma_bufs(); |
| |
| @@ -2290,8 +2290,8 @@ static void __exit fini(void) |
| class_destroy(pdrvdata.class); |
| debugfs_remove_recursive(pdrvdata.debugfs_dir); |
| } |
| -module_init(init); |
| -module_exit(fini); |
| +module_init(virtio_console_init); |
| +module_exit(virtio_console_fini); |
| |
| MODULE_DESCRIPTION("Virtio console driver"); |
| MODULE_LICENSE("GPL"); |
| -- |
| 2.35.1 |
| |