Skip site navigation (1)Skip section navigation (2)
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>