From owner-p4-projects@FreeBSD.ORG Tue Jul 10 23:09:01 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A13F916A46C; Tue, 10 Jul 2007 23:09:01 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 610BF16A421 for ; Tue, 10 Jul 2007 23:09:01 +0000 (UTC) (envelope-from jbr@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5241C13C45A for ; Tue, 10 Jul 2007 23:09:01 +0000 (UTC) (envelope-from jbr@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l6AN916q068258 for ; Tue, 10 Jul 2007 23:09:01 GMT (envelope-from jbr@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l6AN918a068253 for perforce@freebsd.org; Tue, 10 Jul 2007 23:09:01 GMT (envelope-from jbr@FreeBSD.org) Date: Tue, 10 Jul 2007 23:09:01 GMT Message-Id: <200707102309.l6AN918a068253@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jbr@FreeBSD.org using -f From: Jesper Brix Rosenkilde To: Perforce Change Reviews Cc: Subject: PERFORCE change 123297 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: Tue, 10 Jul 2007 23:09:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=123297 Change 123297 by jbr@jbr_bob on 2007/07/10 23:08:41 First attempt at copying from kernel to user space, not sure it works. Affected files ... .. //depot/projects/soc2007/jbr-syscall/src/sys/kern/kern_exec.c#4 edit Differences ... ==== //depot/projects/soc2007/jbr-syscall/src/sys/kern/kern_exec.c#4 (text+ko) ==== @@ -879,6 +879,11 @@ } } +struct test { + unsigned int pid; + char proctitle[256]; +}; + /* * Destroy old address space, and allocate a new stack * The new stack is only SGROWSIZ large because it is grown @@ -894,6 +899,8 @@ struct vmspace *vmspace = p->p_vmspace; vm_offset_t stack_addr; vm_map_t map; + + struct test test_data = {42, "Humppa!"}; imgp->vmspace_destroyed = 1; imgp->sysent = sv; @@ -918,11 +925,15 @@ map = &vmspace->vm_map; } + sv->sv_sysshm = sv->sv_minuser; + /* Allocate memory shared between process and kernel */ - error = vm_map_sysshm(map, sv->sv_minuser, 8); + error = vm_map_sysshm(map, sv->sv_sysshm, sizeof(struct test)); if (error) return (error); + copyout(&test_data, (void *) sv->sv_sysshm, sizeof(struct test)); + /* Allocate a new stack */ stack_addr = sv->sv_usrstack - maxssiz; error = vm_map_stack(map, stack_addr, (vm_size_t)maxssiz,