diff options
| -rw-r--r-- | contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.h | 5 | ||||
| -rw-r--r-- | lib/libc/gen/getvfsbyname.3 | 3 | ||||
| -rw-r--r-- | sbin/mount/mount.8 | 3 | ||||
| -rw-r--r-- | share/examples/mdoc/example.1 | 23 | ||||
| -rw-r--r-- | share/examples/mdoc/example.3 | 23 | ||||
| -rw-r--r-- | share/examples/mdoc/example.4 | 23 | ||||
| -rw-r--r-- | share/examples/mdoc/example.9 | 23 | ||||
| -rw-r--r-- | share/man/man5/style.mdoc.5 | 30 | ||||
| -rw-r--r-- | share/man/man7/stats.7 | 3 | ||||
| -rw-r--r-- | share/man/man7/tuning.7 | 3 | ||||
| -rw-r--r-- | share/man/man9/g_bio.9 | 3 | ||||
| -rw-r--r-- | share/man/man9/uio.9 | 14 | ||||
| -rw-r--r-- | sys/geom/zero/g_zero.c | 4 | ||||
| -rw-r--r-- | sys/net/altq/altq_cbq.c | 2 | ||||
| -rw-r--r-- | sys/net/altq/altq_fairq.c | 2 | ||||
| -rw-r--r-- | sys/net/altq/altq_priq.c | 2 | ||||
| -rw-r--r-- | sys/net/if.c | 34 | 
17 files changed, 68 insertions, 132 deletions
| diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.h b/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.h index 7ab63905ed4f..7d090ba682b3 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.h +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.h @@ -78,6 +78,11 @@ public:    void AddHIPIncludeArgs(const llvm::opt::ArgList &DriverArgs,                           llvm::opt::ArgStringList &CC1Args) const override; +  bool IsAArch64OutlineAtomicsDefault( +      const llvm::opt::ArgList &Args) const override { +    return true; +  } +    UnwindTableLevel    getDefaultUnwindTableLevel(const llvm::opt::ArgList &Args) const override;    bool isPIEDefault(const llvm::opt::ArgList &Args) const override; diff --git a/lib/libc/gen/getvfsbyname.3 b/lib/libc/gen/getvfsbyname.3 index 9365d043a1fc..19fa12419353 100644 --- a/lib/libc/gen/getvfsbyname.3 +++ b/lib/libc/gen/getvfsbyname.3 @@ -27,7 +27,7 @@  .\"  .\"     @(#)kvm_getvfsbyname.3	8.3 (Berkeley) 5/4/95  .\" -.Dd August 16, 2018 +.Dd October 28, 2025  .Dt GETVFSBYNAME 3  .Os  .Sh NAME @@ -104,6 +104,7 @@ argument  specifies a file system that is unknown or not configured in the kernel.  .El  .Sh SEE ALSO +.Xr lsvfs 1 ,  .Xr jail 2 ,  .Xr mount 2 ,  .Xr sysctl 3 , diff --git a/sbin/mount/mount.8 b/sbin/mount/mount.8 index 5c5848d85d5f..8f2b1927e612 100644 --- a/sbin/mount/mount.8 +++ b/sbin/mount/mount.8 @@ -27,7 +27,7 @@  .\"  .\"     @(#)mount.8	8.8 (Berkeley) 6/16/94  .\" -.Dd March 17, 2022 +.Dd October 28, 2025  .Dt MOUNT 8  .Os  .Sh NAME @@ -560,6 +560,7 @@ support for a particular file system might be provided either on a static  .Xr kldload 8 ) .  .Sh SEE ALSO  .Xr getfacl 1 , +.Xr lsvfs 1 ,  .Xr setfacl 1 ,  .Xr nmount 2 ,  .Xr acl 3 , diff --git a/share/examples/mdoc/example.1 b/share/examples/mdoc/example.1 index 0bdabe95aa95..daffb8bc0422 100644 --- a/share/examples/mdoc/example.1 +++ b/share/examples/mdoc/example.1 @@ -1,28 +1,7 @@  .\" -.\" SPDX-License-Identifier: BSD-2-Clause -.\"  .\" Copyright (c) [year] [your name]  .\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\"    notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\"    notice, this list of conditions and the following disclaimer in the -.\"    documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. +.\" SPDX-License-Identifier: BSD-2-Clause  .\"  .\" Note: The date here should be updated whenever a non-trivial  .\" change is made to the manual page. diff --git a/share/examples/mdoc/example.3 b/share/examples/mdoc/example.3 index c4e85062cad1..22c398e0491c 100644 --- a/share/examples/mdoc/example.3 +++ b/share/examples/mdoc/example.3 @@ -1,28 +1,7 @@  .\" -.\" SPDX-License-Identifier: BSD-2-Clause -.\"  .\" Copyright (c) [year] [your name]  .\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\"    notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\"    notice, this list of conditions and the following disclaimer in the -.\"    documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. +.\" SPDX-License-Identifier: BSD-2-Clause  .\"  .\" Note: The date here should be updated whenever a non-trivial  .\" change is made to the manual page. diff --git a/share/examples/mdoc/example.4 b/share/examples/mdoc/example.4 index 47ae5456b79a..e627f81af530 100644 --- a/share/examples/mdoc/example.4 +++ b/share/examples/mdoc/example.4 @@ -1,28 +1,7 @@  .\" -.\" SPDX-License-Identifier: BSD-2-Clause -.\"  .\" Copyright (c) [year] [your name]  .\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\"    notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\"    notice, this list of conditions and the following disclaimer in the -.\"    documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. +.\" SPDX-License-Identifier: BSD-2-Clause  .\"  .\" Note: The date here should be updated whenever a non-trivial  .\" change is made to the manual page. diff --git a/share/examples/mdoc/example.9 b/share/examples/mdoc/example.9 index 1dd24a99fd42..f105f7465f2c 100644 --- a/share/examples/mdoc/example.9 +++ b/share/examples/mdoc/example.9 @@ -1,28 +1,7 @@  .\" -.\" SPDX-License-Identifier: BSD-2-Clause -.\"  .\" Copyright (c) [year] [your name]  .\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\"    notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\"    notice, this list of conditions and the following disclaimer in the -.\"    documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. +.\" SPDX-License-Identifier: BSD-2-Clause  .\"  .\" Note: The date here should be updated whenever a non-trivial  .\" change is made to the manual page. diff --git a/share/man/man5/style.mdoc.5 b/share/man/man5/style.mdoc.5 index c1592bf8b87f..41c0c3783c80 100644 --- a/share/man/man5/style.mdoc.5 +++ b/share/man/man5/style.mdoc.5 @@ -1,30 +1,9 @@  .\" -.\" SPDX-License-Identifier: BSD-2-Clause -.\" -.\" Copyright (c) 2018-2022 Mateusz Piotrowski <0mp@FreeBSD.org> +.\" Copyright (c) 2018-2025 Mateusz Piotrowski <0mp@FreeBSD.org>  .\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\"    notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\"    notice, this list of conditions and the following disclaimer in the -.\"    documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. +.\" SPDX-License-Identifier: BSD-2-Clause  .\" -.Dd January 29, 2022 +.Dd October 24, 2025  .Dt STYLE.MDOC 5  .Os  .Sh NAME @@ -74,6 +53,9 @@ Historically,  was the preferred way before the deprecation of  .Sy \&Li .  .El +.Ss Copyright Header +Refer to +.Xr style 9 .  .Ss EXAMPLES Section  .Bl -dash -width ""  .It diff --git a/share/man/man7/stats.7 b/share/man/man7/stats.7 index 715db70e118b..0b57d525522c 100644 --- a/share/man/man7/stats.7 +++ b/share/man/man7/stats.7 @@ -24,7 +24,7 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE.  .\" -.Dd April 22, 2021 +.Dd October 28, 2025  .Dt STATS 7  .Os  .Sh NAME @@ -100,6 +100,7 @@ Report ZFS I/O statistics  .Xr stat 1 ,  .Xr systat 1 ,  .Xr intro 7 , +.Xr tuning 7 ,  .Xr ctlstat 8 ,  .Xr gstat 8 ,  .Xr ibstat 8 , diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index f04500d0f0dc..8da4b55b9d4f 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -22,7 +22,7 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE.  .\" -.Dd November 17, 2023 +.Dd October 28, 2025  .Dt TUNING 7  .Os  .Sh NAME @@ -702,6 +702,7 @@ over services you export from your box (web services, email).  .Xr firewall 7 ,  .Xr hier 7 ,  .Xr ports 7 , +.Xr stats 7 ,  .Xr boot 8 ,  .Xr bsdinstall 8 ,  .Xr ccdconfig 8 , diff --git a/share/man/man9/g_bio.9 b/share/man/man9/g_bio.9 index 8fad07b0f327..21b76cff04b6 100644 --- a/share/man/man9/g_bio.9 +++ b/share/man/man9/g_bio.9 @@ -22,7 +22,7 @@  .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF  .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  .\" -.Dd August 7, 2019 +.Dd October 26, 2025  .Dt G_BIO 9  .Os  .Sh NAME @@ -309,6 +309,7 @@ example_start(struct bio *bp)  }  .Ed  .Sh SEE ALSO +.Xr dtrace_io 4 ,  .Xr geom 4 ,  .Xr DECLARE_GEOM_CLASS 9 ,  .Xr g_access 9 , diff --git a/share/man/man9/uio.9 b/share/man/man9/uio.9 index e6240c4e51d3..b143eb6e8e62 100644 --- a/share/man/man9/uio.9 +++ b/share/man/man9/uio.9 @@ -23,7 +23,7 @@  .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF  .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  .\" -.Dd March 11, 2017 +.Dd October 22, 2025  .Dt UIO 9  .Os  .Sh NAME @@ -107,10 +107,14 @@ The I/O vector points into the kernel address space.  Do not copy, already in object.  .El  .It Va uio_rw -The direction of the desired transfer, either -.Dv UIO_READ -or -.Dv UIO_WRITE . +The direction of the desired transfer. +The supported flags are: +.Bl -tag -width "UIO_WRITE" +.It Dv UIO_READ +Transfer data from the buffers into the I/O vectors. +.It Dv UIO_WRITE +Transfer data from the I/O vectors into the buffers. +.El  .It Va uio_td  The pointer to a  .Vt "struct thread" diff --git a/sys/geom/zero/g_zero.c b/sys/geom/zero/g_zero.c index 66cc884fab56..be31cc794cb5 100644 --- a/sys/geom/zero/g_zero.c +++ b/sys/geom/zero/g_zero.c @@ -47,11 +47,11 @@ static SYSCTL_NODE(_kern_geom, OID_AUTO, zero, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,      "GEOM_ZERO stuff");  static int g_zero_clear = 1;  SYSCTL_PROC(_kern_geom_zero, OID_AUTO, clear, -    CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, &g_zero_clear, 0, +    CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, &g_zero_clear, 0,      g_zero_clear_sysctl, "I",      "Clear read data buffer");  static int g_zero_byte = 0; -SYSCTL_INT(_kern_geom_zero, OID_AUTO, byte, CTLFLAG_RW, &g_zero_byte, 0, +SYSCTL_INT(_kern_geom_zero, OID_AUTO, byte, CTLFLAG_RWTUN, &g_zero_byte, 0,      "Byte (octet) value to clear the buffers with");  static struct g_provider *gpp; diff --git a/sys/net/altq/altq_cbq.c b/sys/net/altq/altq_cbq.c index bcba09267289..07c61fccb19b 100644 --- a/sys/net/altq/altq_cbq.c +++ b/sys/net/altq/altq_cbq.c @@ -172,6 +172,8 @@ cbq_request(struct ifaltq *ifq, int req, void *arg)  static void  get_class_stats(class_stats_t *statsp, struct rm_class *cl)  { +	memset(statsp, 0, sizeof(*statsp)); +  	statsp->xmit_cnt	= cl->stats_.xmit_cnt;  	statsp->drop_cnt	= cl->stats_.drop_cnt;  	statsp->over		= cl->stats_.over; diff --git a/sys/net/altq/altq_fairq.c b/sys/net/altq/altq_fairq.c index e20eea91b1a1..49046da24594 100644 --- a/sys/net/altq/altq_fairq.c +++ b/sys/net/altq/altq_fairq.c @@ -856,6 +856,8 @@ get_class_stats(struct fairq_classstats *sp, struct fairq_class *cl)  {  	fairq_bucket_t *b; +	memset(sp, 0, sizeof(*sp)); +  	sp->class_handle = cl->cl_handle;  	sp->qlimit = cl->cl_qlimit;  	sp->xmit_cnt = cl->cl_xmitcnt; diff --git a/sys/net/altq/altq_priq.c b/sys/net/altq/altq_priq.c index 32ebfdefbfbe..8023dc12e029 100644 --- a/sys/net/altq/altq_priq.c +++ b/sys/net/altq/altq_priq.c @@ -597,6 +597,8 @@ priq_purgeq(struct priq_class *cl)  static void  get_class_stats(struct priq_classstats *sp, struct priq_class *cl)  { +	memset(sp, 0, sizeof(*sp)); +  	sp->class_handle = cl->cl_handle;  	sp->qlength = qlen(cl->cl_q);  	sp->qlimit = qlimit(cl->cl_q); diff --git a/sys/net/if.c b/sys/net/if.c index 46ebabe09a51..c642e99136d8 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -2806,15 +2806,20 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td)  		break;  	case SIOCAIFGROUP: +	{ +		const char *groupname; +  		error = priv_check(td, PRIV_NET_ADDIFGROUP);  		if (error)  			return (error); -		error = if_addgroup(ifp, -		    ((struct ifgroupreq *)data)->ifgr_group); +		groupname = ((struct ifgroupreq *)data)->ifgr_group; +		if (strnlen(groupname, IFNAMSIZ) == IFNAMSIZ) +			return (EINVAL); +		error = if_addgroup(ifp, groupname);  		if (error != 0)  			return (error);  		break; - +	}  	case SIOCGIFGROUP:  	{  		struct epoch_tracker et; @@ -2826,15 +2831,20 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td)  	}  	case SIOCDIFGROUP: +	{ +		const char *groupname; +  		error = priv_check(td, PRIV_NET_DELIFGROUP);  		if (error)  			return (error); -		error = if_delgroup(ifp, -		    ((struct ifgroupreq *)data)->ifgr_group); +		groupname = ((struct ifgroupreq *)data)->ifgr_group; +		if (strnlen(groupname, IFNAMSIZ) == IFNAMSIZ) +			return (EINVAL); +		error = if_delgroup(ifp, groupname);  		if (error != 0)  			return (error);  		break; - +	}  	default:  		error = ENOIOCTL;  		break; @@ -2978,9 +2988,17 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct thread *td)  		goto out_noref;  	case SIOCGIFGMEMB: -		error = if_getgroupmembers((struct ifgroupreq *)data); -		goto out_noref; +	{ +		struct ifgroupreq *req; +		req = (struct ifgroupreq *)data; +		if (strnlen(req->ifgr_name, IFNAMSIZ) == IFNAMSIZ) { +			error = EINVAL; +			goto out_noref; +		} +		error = if_getgroupmembers(req); +		goto out_noref; +	}  #if defined(INET) || defined(INET6)  	case SIOCSVH:  	case SIOCGVH: | 
