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

From: Steven Rostedt
Date: Wed Mar 16 2022 - 22:39:11 EST


On Wed, 16 Mar 2022 12:20:10 -0700
Randy Dunlap <rdunlap@xxxxxxxxxxxxx> 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
>
> Fixes: 8b7d89d02ef3 ("x86: mmiotrace - trace memory mapped IO")
> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>

Acked-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>

-- Steve

> 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: nouveau@xxxxxxxxxxxxxxxxxxxxx
> Cc: x86@xxxxxxxxxx
> ---
> arch/x86/mm/testmmiotrace.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> --- lnx-517-rc8.orig/arch/x86/mm/testmmiotrace.c
> +++ lnx-517-rc8/arch/x86/mm/testmmiotrace.c
> @@ -113,7 +113,7 @@ static void do_test_bulk_ioremapping(voi
> synchronize_rcu();
> }
>
> -static int __init init(void)
> +static int __init testmmiotrace_init(void)
> {
> unsigned long size = (read_far) ? (8 << 20) : (16 << 10);
> int ret = security_locked_down(LOCKDOWN_MMIOTRACE);
> @@ -136,11 +136,11 @@ static int __init init(void)
> return 0;
> }
>
> -static void __exit cleanup(void)
> +static void __exit testmmiotrace_cleanup(void)
> {
> pr_debug("unloaded.\n");
> }
>
> -module_init(init);
> -module_exit(cleanup);
> +module_init(testmmiotrace_init);
> +module_exit(testmmiotrace_cleanup);
> MODULE_LICENSE("GPL");