From owner-p4-projects@FreeBSD.ORG Wed Sep 26 15:48:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C337F16A41A; Wed, 26 Sep 2007 15:48:17 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 70EA716A418 for ; Wed, 26 Sep 2007 15:48:17 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 7727813C481 for ; Wed, 26 Sep 2007 15:48:17 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by elvis.mu.org (Postfix) with ESMTP id CC59D1A4D98; Wed, 26 Sep 2007 08:48:16 -0700 (PDT) From: John Baldwin To: Roman Divacky Date: Wed, 26 Sep 2007 10:42:57 -0400 User-Agent: KMail/1.9.7 References: <200708172057.l7HKvMhw000824@repoman.freebsd.org> <20070818084608.GA70909@freebsd.org> In-Reply-To: <20070818084608.GA70909@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709261042.58487.jhb@freebsd.org> Cc: Jesper Brix Rosenkilde , Perforce Change Reviews Subject: Re: PERFORCE change 125277 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 15:48:18 -0000 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