From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HXoll-0000Zf-Ld for qemu-devel@nongnu.org; Sat, 31 Mar 2007 21:22:09 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HXolk-0000U8-G6 for qemu-devel@nongnu.org; Sat, 31 Mar 2007 21:22:09 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HXolk-0000SO-1l for qemu-devel@nongnu.org; Sat, 31 Mar 2007 20:22:08 -0500 Received: from grayson.netsweng.com ([207.235.77.11]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HXoir-0007Vt-QS for qemu-devel@nongnu.org; Sat, 31 Mar 2007 21:19:10 -0400 Date: Sat, 31 Mar 2007 21:18:00 -0400 (EDT) From: Stuart Anderson Subject: Re: [Qemu-devel] [PATCH] semaphore syscalls - refresh In-Reply-To: <20070331185808.GB24690@networkno.de> Message-ID: References: <20070331185808.GB24690@networkno.de> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Thiemo Seufer Cc: qemu-devel@nongnu.org On Sat, 31 Mar 2007, Thiemo Seufer wrote: >> + switch( cmd ) { >> + case GETALL: >> + case SETALL: >> + case IPC_STAT: >> + case IPC_SET: >> + lock_user_struct(target_su, target_addr, 1); >> + target_to_host_semid_ds(ds,target_su->buf); >> + host_su->buf = ds; >> + unlock_user_struct(target_su, target_addr, 0); >> + break; > > I don't see how this can work with target_su being an uninitialized pointer. #define lock_user_struct(host_ptr, guest_addr, copy) \ host_ptr = lock_user(guest_addr, sizeof(*host_ptr), copy) target_su is the left hand side of the assignment. The macro just hides it. Stuart Stuart R. Anderson anderson@netsweng.com Network & Software Engineering http://www.netsweng.com/ 1024D/37A79149: 0791 D3B8 9A4C 2CDC A31F BD03 0A62 E534 37A7 9149