Understood Tao. That makes sense to me now.
To verify this, I moved the faulty code to a separate function and called that helper
function from my module_init function and that indeed produced the expected results.
[...]
#12 [ffff800082b8ba40] helper at ffff80007a7e003c [npdereference]
#13 [ffff800082b8ba60] _MODULE_INIT_TEXT_START_npdereference at ffff80007a7e6024
[npdereference]
#14 [ffff800082b8bac0] do_one_initcall at ffff800080014db0
#15 [ffff800082b8baf0] do_init_module at ffff80008011ee14
#16 [ffff800082b8bc30] load_module at ffff800080120ed8
#17 [ffff800082b8bd20] init_module_from_file at ffff8000801211bc
[...]
And post loading the module, "sym" pin-pointed to the exact faulty location.
Thanks for the pointers.
crash> sym ffff80007a7e003c
ffff80007a7e003c (t) helper+60 [npdereference]
/home/naveen/.repos/src/arm64/linux/drivers/naveen/npdereference.c: 18
crash>