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;

Reply via email to