FreeBSD arm64 Azure panic during reboot in add_route

From: Souradeep Chakrabarti <schakrabarti_at_microsoft.com>
Date: Mon, 04 Sep 2023 10:13:49 UTC
Hi
I am working on bringing FreeBSD on Azure ARM64. When I am rebooting the FreeBSD arm64 in Azure public preview,
we are hitting following panic sometime for page fault:
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
vpanic() at vpanic+0x13c
panic() at panic+0x44
data_abort() at data_abort+0x30c
handle_el1h_sync() at handle_el1h_sync+0x14
--- exception, esr 0x8600000e
(null)() at 0xffffa0000c93bb00
add_route() at add_route+0xc4
add_route_flags() at add_route_flags+0x1b0
rib_add_route() at rib_add_route+0x324
ifa_maintain_loopback_route() at ifa_maintain_loopback_route+0xf4
in6_update_ifa() at in6_update_ifa+0x994
in6_ifattach() at in6_ifattach+0x1bc
in6_if_up() at in6_if_up+0x90
if_up() at if_up+0xd8
ifhwioctl() at ifhwioctl+0xb7c
ifioctl() at ifioctl+0x860
kern_ioctl() at kern_ioctl+0x2dc
sys_ioctl() at sys_ioctl+0x118
do_el0_sync() at do_el0_sync+0x520
handle_el0_sync() at handle_el0_sync+0x44

The panic is coming when add_route is called for loopback interface ipv6 attachment.
Upon more investigating it looks like the panic happens in rib_notify() .

Please let me know how to debug it further to find the RC.
I have already opened a bug to track it : https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272666

Regards,
Souradeep