Date: Fri, 4 Sep 2009 17:14:32 -0500 From: Brooks Davis <brooks@FreeBSD.org> To: Bruce Cran <bruce@cran.org.uk> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org Subject: Re: svn commit: r195843 - in head: lib/libkvm sys/kern sys/sys Message-ID: <20090904221432.GC82231@lor.one-eyed-alien.net> In-Reply-To: <20090829201228.00005860@unknown> References: <200907241503.n6OF3ATP013228@svn.freebsd.org> <20090829201228.00005860@unknown>
next in thread | previous in thread | raw e-mail | index | archive | help
--pAwQNkOnpTn9IO2O Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Aug 29, 2009 at 08:12:28PM +0100, Bruce Cran wrote: > On Fri, 24 Jul 2009 15:03:10 +0000 (UTC) > Brooks Davis <brooks@FreeBSD.org> wrote: >=20 > > Author: brooks > > Date: Fri Jul 24 15:03:10 2009 > > New Revision: 195843 > > URL: http://svn.freebsd.org/changeset/base/195843 > >=20 > > Log: > > Revert the changes to struct kinfo_proc in r194498. Instead, fill > > in up to 16 (KI_NGROUPS) values and steal a bit from ki_cr_flags > > (all bits currently unused) to indicate overflow with the new flag > > KI_CRF_GRP_OVERFLOW. > > =20 > > This fixes procstat -s. > > =20 > > Approved by: re (kib) >=20 > Hi Brooks, >=20 > This checkin appears to have broken crash dump support: the bcopy in > kvm_proc.c crashes when running "ps -ax -M /var/crash/vmcore.x > -N /boot/kernel/kernel", apparently because ucred.cr_groups isn't valid. > Does it need converted using KVM_READ first? Sorry for the delay, I believe you are correct we need to use kvm_read here instead of the bcopy. Do you still have a core handy you can test a patch against? The following should do it. -- Brooks Index: lib/libkvm/kvm_proc.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- lib/libkvm/kvm_proc.c (revision 196736) +++ lib/libkvm/kvm_proc.c (working copy) @@ -151,7 +151,7 @@ kp->ki_cr_flags |=3D KI_CRF_GRP_OVERFLOW; } kp->ki_ngroups =3D ucred.cr_ngroups; - bcopy(ucred.cr_groups, kp->ki_groups, + kvm_read(kd, (u_long)ucred.cr_groups, kp->ki_groups, kp->ki_ngroups * sizeof(gid_t)); kp->ki_uid =3D ucred.cr_uid; if (ucred.cr_prison !=3D NULL) { --pAwQNkOnpTn9IO2O Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iD8DBQFKoZFIXY6L6fI4GtQRAmtzAJ0W2fEL0TMPA4pKQAgDTlqxNxsXFwCfcSCp cYjMVqpg0YNDcMZxkINYOZc= =3Uaj -----END PGP SIGNATURE----- --pAwQNkOnpTn9IO2O--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090904221432.GC82231>