Module Name: src Committed By: riastradh Date: Fri Dec 31 14:25:47 UTC 2021
Modified Files: src/sys/altq: altq_afmap.c Log Message: altq(9): Fix missing IFNET_LOCK around if_ioctl. To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/altq/altq_afmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/altq/altq_afmap.c diff -u src/sys/altq/altq_afmap.c:1.22 src/sys/altq/altq_afmap.c:1.23 --- src/sys/altq/altq_afmap.c:1.22 Fri Dec 31 14:24:50 2021 +++ src/sys/altq/altq_afmap.c Fri Dec 31 14:25:47 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: altq_afmap.c,v 1.22 2021/12/31 14:24:50 riastradh Exp $ */ +/* $NetBSD: altq_afmap.c,v 1.23 2021/12/31 14:25:47 riastradh Exp $ */ /* $KAME: altq_afmap.c,v 1.12 2005/04/13 03:44:24 suz Exp $ */ /* @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: altq_afmap.c,v 1.22 2021/12/31 14:24:50 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: altq_afmap.c,v 1.23 2021/12/31 14:25:47 riastradh Exp $"); #ifdef _KERNEL_OPT #include "opt_altq.h" @@ -369,10 +369,15 @@ afmioctl(dev_t dev, ioctlcmd_t cmd, void flowmap = (struct atm_flowmap *)addr; flowmap->af_ifname[IFNAMSIZ-1] = '\0'; ifp = ifunit(flowmap->af_ifname); - if (ifp == NULL || (ifp->if_flags & IFF_RUNNING) == 0) + if (ifp == NULL) + return ENXIO; + + IFNET_LOCK(ifp); + if ((ifp->if_flags & IFF_RUNNING) == 0) error = ENXIO; else error = if_ioctl(ifp, cmd, addr); + IFNET_UNLOCK(ifp); return error; }