From nobody Wed Sep 17 12:18:53 2025 X-Original-To: dev-commits-src-main@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 4cRd9B0TQrz67Hpp; Wed, 17 Sep 2025 12:18:54 +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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cRd994glNz3V1W; Wed, 17 Sep 2025 12:18:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758111533; 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=aH6da3mA+o1QaJlKkJHv1zaJzIcKs+UMKbPGmHleVls=; b=gC8Igdt4kqecQxTO3AcWlVGjRE1xhlXkdbwgfQIOBRxbFdW1rSJaoFeJhrEGgXVoex918+ 55M7Bi9jqgngvOPDL3EobTkkvvh4gimCNCcjPEqaZF45tUVzj/GUfe4iESKWIjdrJJ6Zdm eAe1pShl0VSmlE0bV4t3BIZ37rSwiv4p+HrllwLpwFDtMQoWgXSs3F/HKaEJmucOD6qxbP e7yejUVvUxOQuwFPQeBwcCDFp2diyZgonUsFH5ByxVGzV7KcFWIy0z70249++0Uzma4SYD bpB3Vd+AJUwbPV6drbzOcxf8oPKdzbrzUIl53vRNhONkJ53kbdfNJYgQibW7kA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758111533; 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=aH6da3mA+o1QaJlKkJHv1zaJzIcKs+UMKbPGmHleVls=; b=l6B46kCQUxG8OLHgTk4mKUbk9F52Y/UDfEADJlDszFTSzPpWfFd7eBPrtdAj967vmBRGWt +PzBQkguGkMHBqF6WnZK6zYd/L076hStgFczt1dSf6XeS1UDXCRLCR8DqoGsF1TipaFew+ OB0hx5gdEL2MIdruhMCbIGBbaVwnE7re5UDFIZrdokKzb66xdFETSLT5kpBJYC0g/8CFL7 mzakrs7u0V5T1MJn9s54qvRGRHlz6/MJZMSqmBpeWKobQMQFetamwFjqXQ3Q/YHQC93Fbl 03XDTg8xiSLj2K8jEbYhfPSAFN+cDs9pnJxbm8FOMQYIk7KH4rnwmwBOYytPMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1758111533; a=rsa-sha256; cv=none; b=Gqi0qXOP0/jx1RZmvXzDe9RH4YIMRU/zuBEw7a+Za6QhSIftOkMECr3GxpfCtBvPIfbEOn 91WIhdSawp3zOWrJ7JcGQEGZFX8cYR9SO7aIJTQgZHhfzg7Fds5skK/que9U8/0f+Cru9j qqUji+bFFbNzyvUogUKt35fH9FN9Fftc7600R2FRzHy5tO0hthOQ53u4Yduu7zC4r8bdX9 Vu5gsooIzd0t/tylU3sFlggpMxzcazuMIVnXu5uXRrOsaLkd85y+QLJmzmrp3dWLmuMMpz CBN7TuJFXHvAsGwsOn8ma/uJxUBd0j2dbLv3srvzEHTD9rLTPTosE8DUruPN+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4cRd994GP5z9hL; Wed, 17 Sep 2025 12:18:53 +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 58HCIrQt085382; Wed, 17 Sep 2025 12:18:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58HCIrSn085379; Wed, 17 Sep 2025 12:18:53 GMT (envelope-from git) Date: Wed, 17 Sep 2025 12:18:53 GMT Message-Id: <202509171218.58HCIrSn085379@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 11cbb7d122ac - main - libprocstat: procstat_getgroups_kvm(): Output again the effective GID List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 11cbb7d122ac0219c214ad52c4d6f7cbb9d60ac1 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=11cbb7d122ac0219c214ad52c4d6f7cbb9d60ac1 commit 11cbb7d122ac0219c214ad52c4d6f7cbb9d60ac1 Author: Olivier Certner AuthorDate: 2025-08-28 14:49:07 +0000 Commit: Olivier Certner CommitDate: 2025-09-17 12:16:00 +0000 libprocstat: procstat_getgroups_kvm(): Output again the effective GID In particular, fixes 'procstat -s -M' (for processes with more than 16 groups). Reviewed by: kib Fixes: be1f7435ef218b1d ("kern: start tracking cr_gid outside of cr_groups[]") MFC after: 5 days MFC to: stable/15 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52275 --- lib/libprocstat/libprocstat.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/libprocstat/libprocstat.c b/lib/libprocstat/libprocstat.c index 1651cbc6820f..df77cabcd36b 100644 --- a/lib/libprocstat/libprocstat.c +++ b/lib/libprocstat/libprocstat.c @@ -1973,6 +1973,7 @@ procstat_getgroups_kvm(kvm_t *kd, struct kinfo_proc *kp, unsigned int *cntp) struct ucred ucred; gid_t *groups; size_t len; + unsigned int ngroups; assert(kd != NULL); assert(kp != NULL); @@ -1990,19 +1991,22 @@ procstat_getgroups_kvm(kvm_t *kd, struct kinfo_proc *kp, unsigned int *cntp) proc.p_ucred, kp->ki_pid); return (NULL); } - len = ucred.cr_ngroups * sizeof(gid_t); + ngroups = 1 + ucred.cr_ngroups; + len = ngroups * sizeof(gid_t); groups = malloc(len); if (groups == NULL) { warn("malloc(%zu)", len); return (NULL); } - if (!kvm_read_all(kd, (unsigned long)ucred.cr_groups, groups, len)) { + groups[0] = ucred.cr_gid; + if (!kvm_read_all(kd, (unsigned long)ucred.cr_groups, groups + 1, + len - sizeof(gid_t))) { warnx("can't read groups at %p for pid %d", ucred.cr_groups, kp->ki_pid); free(groups); return (NULL); } - *cntp = ucred.cr_ngroups; + *cntp = ngroups; return (groups); }