nd6_timer_to is a global struct and nd6_timer() accesses it as such,
thereby ignoring its function argument.
Make that clear when setting the timeout, which now goes like the other
two timeouts.
OK?
Index: nd6.c
===================================================================
RCS file: /cvs/src/sys/netinet6/nd6.c,v
retrieving revision 1.238
diff -u -p -r1.238 nd6.c
--- nd6.c 22 Feb 2022 01:15:02 -0000 1.238
+++ nd6.c 22 Jul 2022 11:14:25 -0000
@@ -122,7 +122,7 @@ nd6_init(void)
nd6_init_done = 1;
/* start timer */
- timeout_set_proc(&nd6_timer_to, nd6_timer, &nd6_timer_to);
+ timeout_set_proc(&nd6_timer_to, nd6_timer, NULL);
timeout_set_proc(&nd6_slowtimo_ch, nd6_slowtimo, NULL);
timeout_add_sec(&nd6_slowtimo_ch, ND6_SLOWTIMER_INTERVAL);
timeout_set(&nd6_expire_timeout, nd6_expire_timer, NULL);
@@ -318,7 +318,7 @@ nd6_llinfo_settimer(struct llinfo_nd6 *l
}
void
-nd6_timer(void *arg)
+nd6_timer(void *unused)
{
struct llinfo_nd6 *ln, *nln;
time_t expire = getuptime() + nd6_gctimer;