From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by ozlabs.org (Postfix) with ESMTP id 9E0EBB6EDF for ; Sun, 3 Jul 2011 19:05:44 +1000 (EST) Message-ID: <4E1030E1.6070101@redhat.com> Date: Sun, 03 Jul 2011 12:05:37 +0300 From: Avi Kivity MIME-Version: 1.0 To: Alexander Graf Subject: Re: [RFC PATCH 17/17] KVM: PPC: Add an ioctl for userspace to select which platform to emulate References: <20110629101552.GA25406@bloggs.ozlabs.ibm.com> <20110629104103.GR25406@bloggs.ozlabs.ibm.com> <4E0C9077.2060608@suse.de> <4E0C9339.2080601@redhat.com> <4E0C94A0.3090301@suse.de> <4E0C9D98.5000904@redhat.com> <2EDDAC02-4BDC-4007-82E1-2C6D732C24D5@suse.de> <4E102516.1040805@redhat.com> <70A08140-B592-4B2F-985B-D8E5C78C743B@suse.de> <4E102ECE.1060004@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Cc: Scott Wood , "linuxppc-dev@ozlabs.org" , Paul Mackerras , "kvm-ppc@vger.kernel.org" , "kvm@vger.kernel.org" List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On 07/03/2011 12:00 PM, Alexander Graf wrote: > >> } > >> > >> Otherwise we might write over data the user expected. And that logic that tells to copy_to_user how much data it actually takes to put all the information in is not there today and would have to be added. You can even verify that required_size with the ioctl passed size to make 100% sure user space is sane, but I'd claim that a feature bitmap is plenty of information to ensure that we're not doing something stupid. > > > > I don't see why we have to caclulate something, then verify it against the correct answer. > > Ah, I think I'm grasping your idea. You'd simply truncate the resulting struct according to the size passed by the ioctl and call it a day. Well, that works too. User space simply wouldn't be able to know if all information actually fit into the struct, but I guess that's fine :). > Right. The idea is that if KVM_FLAG_BLAH implies a field kvm_struct::blah, then either both are present in the headers, or none of them. -- error compiling committee.c: too many arguments to function