From nobody Fri Aug 15 15:09:11 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4c3QVw1dpYz658kK; Fri, 15 Aug 2025 15:09:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4c3QVw0sVWz479Y; Fri, 15 Aug 2025 15:09:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1755270552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZCo4grEINFMWGK1jwVcyjyc3pIiCD52jeXr5co1qkac=; b=vv/z+Eec8bw06EctNbt73QvcLaRJ7wyeNyw+Yaf+KjF4RCv3TVow2Ura5LPw+aL4N+V0md Cf3fC/pZaHtZBfapUUSRidYMlwxkqNQzcLPe6zrPdK3GYfZzvc7tDvgb3K9TxJMEFaYnhg 1oRrUaAj/m/NjBS0IRzoCL/o4RQVsgwEOpmcAkoybTnNNxQ89tRenjKxRAh8PDIWFLS1uD bryyT3hUwuXzFxCP9/ucKyE+wHQEosBLFRd4kYx7/LWnsP0I4q25Krc4x/naG/75/v0vrF fEHTrDMmHULKSt8UOcDc4VuFzadsKo8S4e80hOqosTS/OfTl4ms/ODW7F9LpXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1755270552; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZCo4grEINFMWGK1jwVcyjyc3pIiCD52jeXr5co1qkac=; b=PPKjfX9to7prRn7T0tR6nqt1RNnArt5KNtDqFMuFyeYNelNZdlrYMVFeCCgjqECguaRxAG AqvZYWZvT8pbNWjJlY+5J/RAE0aDv+1/W4jF79KQgMZxTQ2PqzwRAumlbfF2LLYJx/fL/T RP/GFG95XyNTlxhddMzX7RZWo8WF2+1GbLzqdUz0cJFuThTH+yeDLmu3beMXrnG03OW3NW KMn6Ow1lwsi5I5R7kwulycPZnWk9RaPMru7E13jArQFYl6MWbU22hp2wSB51GjXaBrJ9SB O+V+lQq/rmpWIgkclCoCE/f4NewAp3u9tu+/ifAEXuVjBSO5Imj9lrvHnq4KQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1755270552; a=rsa-sha256; cv=none; b=eUY4RtzT0e44AL2GC15DQiFJCX4tSzjyope+xnP8Wn5o6gqG3crONb3P/g5nvpRXD73qQo mlzVTTVNyCAnSSX+WNapIabibpiI7dsYYXl1CCIvSa6fsBnSGtIfvz5ywN0UHdycN8niUC GbNsRCgoZ1mqMYZXNLYQbEkavPFcs3Q/P0xnOYIs6vpSxl0J27eYgE/oBP5Yx43364cT7C Z6kXtGBQbFaX3s2R728vbJ784ESYZ1UK27543w9yHEqQ4QRnfsSuMowXQlWRB5VxyyGsta kKaPUPWaUEy2MmUw8f79OJ6MoHo6V/1XmHI514eADYwqis9DiM6FAIfCiN184w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4c3QVw0BVNzk6n; Fri, 15 Aug 2025 15:09:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 57FF9BBM072403; Fri, 15 Aug 2025 15:09:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 57FF9B0c072400; Fri, 15 Aug 2025 15:09:11 GMT (envelope-from git) Date: Fri, 15 Aug 2025 15:09:11 GMT Message-Id: <202508151509.57FF9B0c072400@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 08f5e06c5e33 - main - kern: fix freebsd14 getgroups(2) compat List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 08f5e06c5e3332de231a664ffd6f7856e9fead07 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=08f5e06c5e3332de231a664ffd6f7856e9fead07 commit 08f5e06c5e3332de231a664ffd6f7856e9fead07 Author: Kyle Evans AuthorDate: 2025-08-15 15:08:18 +0000 Commit: Kyle Evans CommitDate: 2025-08-15 15:08:18 +0000 kern: fix freebsd14 getgroups(2) compat We need to actually copyout the remainder of the groups if the egid succeeded, not failed. My test that was designed to catch this along with the previously-found syzkaller panic did not zero out the groups array prior to re-fetching, so it did not catch that entries beyond the first were not actually populated. Pointy hat: kevans Fixes: 9da2fe96ff ("kern: fix setgroups(2) and getgroups(2) [...]") --- sys/kern/kern_prot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index beab30a9d157..dac0e40b0599 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -332,7 +332,7 @@ freebsd14_getgroups(struct thread *td, struct freebsd14_getgroups_args *uap) } error = copyout(&cred->cr_gid, uap->gidset, sizeof(gid_t)); - if (error != 0) + if (error == 0) error = copyout(cred->cr_groups, uap->gidset + 1, (ngrp - 1) * sizeof(gid_t));