From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH 04/13] VMX: Fix return label in fault-triggering handlers Date: Wed, 22 Jan 2014 16:00:16 +0100 Message-ID: <52DFDD00.5000908@redhat.com> References: <59793077f3173bfa9f211c38617d288611f3a11f.1388858359.git.jan.kiszka@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm To: Jan Kiszka , Gleb Natapov , Marcelo Tosatti Return-path: Received: from mail-qa0-f50.google.com ([209.85.216.50]:37345 "EHLO mail-qa0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755389AbaAVPAV (ORCPT ); Wed, 22 Jan 2014 10:00:21 -0500 Received: by mail-qa0-f50.google.com with SMTP id cm18so529785qab.23 for ; Wed, 22 Jan 2014 07:00:21 -0800 (PST) In-Reply-To: <59793077f3173bfa9f211c38617d288611f3a11f.1388858359.git.jan.kiszka@web.de> Sender: kvm-owner@vger.kernel.org List-ID: Il 04/01/2014 18:59, Jan Kiszka ha scritto: > From: Jan Kiszka > > Some compiler versions (seen with gcc 4.8.1) move the resume label after > the return statement which, of course, causes sever problems. Can you include the assembly output? Do you mean after the "ret" instruction? The return should not be needed except for the rule that a label must be followed by a statement. But I would not except any difference between a ";" and a barrier in this case. Paolo > Signed-off-by: Jan Kiszka > --- > x86/vmx.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/x86/vmx.c b/x86/vmx.c > index a475aec..f9d5493 100644 > --- a/x86/vmx.c > +++ b/x86/vmx.c > @@ -563,7 +563,7 @@ static void do_vmxon_off(void) > vmx_on(); > vmx_off(); > resume: > - return; > + barrier(); > } > > static void do_write_feature_control(void) > @@ -572,7 +572,7 @@ static void do_write_feature_control(void) > barrier(); > wrmsr(MSR_IA32_FEATURE_CONTROL, 0); > resume: > - return; > + barrier(); > } > > static int test_vmx_feature_control(void) >