Date: Wed, 26 Sep 2007 10:42:57 -0400 From: John Baldwin <jhb@freebsd.org> To: Roman Divacky <rdivacky@freebsd.org> Cc: Jesper Brix Rosenkilde <jbr@freebsd.org>, Perforce Change Reviews <perforce@freebsd.org> Subject: Re: PERFORCE change 125277 for review Message-ID: <200709261042.58487.jhb@freebsd.org> In-Reply-To: <20070818084608.GA70909@freebsd.org> References: <200708172057.l7HKvMhw000824@repoman.freebsd.org> <20070818084608.GA70909@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 18 August 2007 04:46:08 am Roman Divacky wrote: > > struct image_params *imgp; > > { > > int error; > > + struct proc *p = imgp->proc; > > vm_map_t map = &imgp->proc->p_vmspace->vm_map; > > vm_offset_t *addr = &imgp->proc->p_usrsysshm; > > - int test = 42; > > + struct sysshm outsysshm; > > > > error = vm_map_sysshm(map, addr, 42); > > > > - copyout((caddr_t) &test, (caddr_t) *addr, sizeof(int)); > > + outsysshm.pid = p->p_pid; > > + strncpy(outsysshm.progtitle, p->p_comm, MAXCOMLEN); > > + strncpy(outsysshm.proctitle, "\0", 1); > > + copyout((caddr_t) &outsysshm, (caddr_t) *addr, sizeof(struct sysshm)); > > > the p->p_comm can be changed under your hands. you need to lock "p" and obtain > local copy and copyout the local copy. Actually, it is only set during exec() for userland processes, so this is probably fine. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200709261042.58487.jhb>