From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PULL] Urgent memory fix for kvm with unaligned memory slots Date: Thu, 01 Mar 2012 19:03:19 +0200 Message-ID: <4F4FABD7.1030709@redhat.com> References: <4F4F7C47.6090005@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Anthony Liguori , qemu-devel , KVM list To: Bobby Powers Return-path: Received: from mx1.redhat.com ([209.132.183.28]:24961 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758536Ab2CARDZ (ORCPT ); Thu, 1 Mar 2012 12:03:25 -0500 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On 03/01/2012 06:51 PM, Bobby Powers wrote: > > /* kvm works in page size chunks, but the function may be called > > with sub-page size and unaligned start address. */ > > - size = TARGET_PAGE_ALIGN(size); > > - start_addr = TARGET_PAGE_ALIGN(start_addr); > > + delta = TARGET_PAGE_ALIGN(size) - size; > > + if (delta > size) { > > + return; > > + } > > + start_addr += delta; > > + size -= delta; > > + size &= TARGET_PAGE_MASK; > > + if (!size || (start_addr & ~TARGET_PAGE_MASK)) { > > + return; > > + } > > > > if (!memory_region_is_ram(mr)) { > > return; > > } > > > > - ram = memory_region_get_ram_ptr(mr) + section->offset_within_region; > > + ram = memory_region_get_ram_ptr(mr) + section->offset_within_region > > + delta; > > Am I crazy, or does this look wrong? Could be both. Why do you thing it is wrong? -- error compiling committee.c: too many arguments to function