Hi tech@, i've found the undocumented -carpdev option in ifconfig(8) which freezes my sytem if executed.
As the -carpdev option is undocumented in both ifconfig(8) and carp(4) i propose two patches to remove this functionality. The patch below will return EINVAL in SIOCSVH if carpr.carpr_carpdev is not a valid interface name. I will send another patch to @tech to remove -carpdev from ifconfig(8) Cheers, Fabian Index: ip_carp.c =================================================================== RCS file: /cvs/src/sys/netinet/ip_carp.c,v retrieving revision 1.284 diff -u -p -r1.284 ip_carp.c --- ip_carp.c 19 Dec 2015 11:19:35 -0000 1.284 +++ ip_carp.c 30 Dec 2015 11:31:57 -0000 @@ -2022,8 +2022,7 @@ carp_ioctl(struct ifnet *ifp, u_long cmd if ((error = copyin(ifr->ifr_data, &carpr, sizeof carpr))) break; error = 1; - if (carpr.carpr_carpdev[0] != '\0' && - (ifp0 = ifunit(carpr.carpr_carpdev)) == NULL) + if ((ifp0 = ifunit(carpr.carpr_carpdev)) == NULL) return (EINVAL); if (carpr.carpr_peer.s_addr == 0) sc->sc_peer.s_addr = INADDR_CARP_GROUP;