Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759511Ab1CDLoQ (ORCPT ); Fri, 4 Mar 2011 06:44:16 -0500 Received: from thoth.sbs.de ([192.35.17.2]:19229 "EHLO thoth.sbs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751884Ab1CDLoO (ORCPT ); Fri, 4 Mar 2011 06:44:14 -0500 Message-ID: <4D70D077.7050802@siemens.com> Date: Fri, 04 Mar 2011 12:43:51 +0100 From: Jan Kiszka User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 To: Xiao Guangrong CC: Avi Kivity , Marcelo Tosatti , LKML , KVM Subject: Re: [PATCH 4/10] KVM: fix rcu usage in init_rmode_* functions References: <4D70C569.1030107@cn.fujitsu.com> <4D70C5DE.6000906@cn.fujitsu.com> In-Reply-To: <4D70C5DE.6000906@cn.fujitsu.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2459 Lines: 61 On 2011-03-04 11:58, Xiao Guangrong wrote: > fix: > [ 3494.671786] stack backtrace: > [ 3494.671789] Pid: 10527, comm: qemu-system-x86 Not tainted 2.6.38-rc6+ #23 > [ 3494.671790] Call Trace: > [ 3494.671796] [] ? lockdep_rcu_dereference+0x9d/0xa5 > [ 3494.671826] [] ? kvm_memslots+0x6b/0x73 [kvm] > [ 3494.671834] [] ? gfn_to_memslot+0x16/0x4f [kvm] > [ 3494.671843] [] ? gfn_to_hva+0x16/0x27 [kvm] > [ 3494.671851] [] ? kvm_write_guest_page+0x31/0x83 [kvm] > [ 3494.671861] [] ? kvm_clear_guest_page+0x1a/0x1c [kvm] > [ 3494.671867] [] ? vmx_set_tss_addr+0x83/0x122 [kvm_intel] > > and: > [ 8328.789599] stack backtrace: > [ 8328.789601] Pid: 18736, comm: qemu-system-x86 Not tainted 2.6.38-rc6+ #23 > [ 8328.789603] Call Trace: > [ 8328.789609] [] ? lockdep_rcu_dereference+0x9d/0xa5 > [ 8328.789621] [] ? kvm_memslots+0x6b/0x73 [kvm] > [ 8328.789628] [] ? gfn_to_memslot+0x16/0x4f [kvm] > [ 8328.789635] [] ? gfn_to_hva+0x16/0x27 [kvm] > [ 8328.789643] [] ? kvm_write_guest_page+0x31/0x83 [kvm] > [ 8328.789699] [] ? kvm_clear_guest_page+0x1a/0x1c [kvm] > [ 8328.789713] [] ? vmx_create_vcpu+0x316/0x3c8 [kvm_intel] > > Signed-off-by: Xiao Guangrong > --- > arch/x86/kvm/vmx.c | 10 +++++++--- > 1 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index e2b8c6b..d871ced 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -2399,9 +2399,10 @@ static int init_rmode_tss(struct kvm *kvm) > { > gfn_t fn = rmode_tss_base(kvm) >> PAGE_SHIFT; I bet you also wanted to remove this initialization. > u16 data = 0; > - int ret = 0; > - int r; > + int r, idx, ret = 0; > > + idx = srcu_read_lock(&kvm->srcu); > + fn = rmode_tss_base(kvm) >> PAGE_SHIFT; > r = kvm_clear_guest_page(kvm, fn, 0, PAGE_SIZE); > if (r < 0) > goto out; Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/