All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: Pavel Machek <pavel@suse.cz>
Cc: Andrew Morton <akpm@osdl.org>,
	kvm@vger.kernel.org, kexec@lists.infradead.org,
	linux-kernel@vger.kernel.org, "Rafael J. Wysocki" <rjw@sisk.pl>,
	Haren Myneni <hbabu@us.ibm.com>,
	Simon Horman <horms@verge.net.au>, Avi Kivity <avi@redhat.com>,
	Ingo Molnar <mingo@elte.hu>, Andrey Borzenkov <arvidjaar@mail.ru>,
	mingo@redhat.com, Vivek Goyal <vgoyal@redhat.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: [PATCH 09/15] x86: Emergency virtualization disable function
Date: Thu, 6 Nov 2008 13:34:05 -0200	[thread overview]
Message-ID: <20081106153405.GS5247@blackpad> (raw)
In-Reply-To: <20081105222731.GA14202@elf.ucw.cz>

On Wed, Nov 05, 2008 at 11:27:32PM +0100, Pavel Machek wrote:
> On Wed 2008-11-05 17:56:52, Eduardo Habkost wrote:
> > This patch adds an interface to set a function that can be used to
> > disable virtualization extensions on the CPU on emergency cases, such
> > as on kdump or emergency reboot.
> > 
> > The function will be set by code that enables virtualization extensions
> > on the CPUs (i.e. KVM), and should do the very least to disable virt
> > extensions on the CPU where it is being called.
> > 
> > The functions that set the function pointer uses RCU synchronization,
> > just in case the crash NMI is triggered while KVM is unloading.
> > 
> > We can't just use the same notifiers used at reboot time (that are used
> > by non-crash-dump kexec), because at crash time some CPUs may have IRQs
> > disabled, so we can't use IPIs. The crash shutdown code use NMIs to tell
> > the other CPUs to be halted, so the notifier call will be hooked into
> > the CPU halting code that is on the crash shutdown NMI handler.
> > 
> > [v2: drop 'unsigned int cpu' arg from function]
> > [v3: make emergency_virt_disable() non-static]
> > [v4: add a config option for it: CPU_VIRT_EXTENSIONS]
> > [v5: add has_virt_extensions() function]
> > [v6: don't define the registering functions if CPU_VIRT_EXTENSIONS is
> >  not enabled]
> > [v7: use EXPORT_SYMBOL_GPL]
> > 
> 
> > --- /dev/null
> > +++ b/arch/x86/kernel/virtext.c
> > @@ -0,0 +1,89 @@
> > +/* Core CPU virtualization extensions handling
> > + *
> > + * This should carry the code for handling CPU virtualization extensions
> > + * that needs to live in the kernel core.
> > + *
> > + * Author: Eduardo Habkost <ehabkost@redhat.com>
> > + *
> > + * Copyright (C) 2008, Red Hat Inc.
> > + */
> 
> GPL?

Yes, of course.

As IANAL, I used a similar .c file as reference for the author/copyright
info header, and used arch/x86/kernel/crash.c, that doesn't refer to
the GPL also. I think I chose a bad example as reference.

arch/x86/kernel/crash.c even has "All rights reserved". Ouch.

-- 
Eduardo

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: Eduardo Habkost <ehabkost@redhat.com>
To: Pavel Machek <pavel@suse.cz>
Cc: Avi Kivity <avi@redhat.com>, Ingo Molnar <mingo@elte.hu>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Simon Horman <horms@verge.net.au>, Andrew Morton <akpm@osdl.org>,
	Vivek Goyal <vgoyal@redhat.com>, Haren Myneni <hbabu@us.ibm.com>,
	Andrey Borzenkov <arvidjaar@mail.ru>,
	mingo@redhat.com, "Rafael J. Wysocki" <rjw@sisk.pl>,
	kexec@lists.infradead.org, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 09/15] x86: Emergency virtualization disable function
Date: Thu, 6 Nov 2008 13:34:05 -0200	[thread overview]
Message-ID: <20081106153405.GS5247@blackpad> (raw)
In-Reply-To: <20081105222731.GA14202@elf.ucw.cz>

On Wed, Nov 05, 2008 at 11:27:32PM +0100, Pavel Machek wrote:
> On Wed 2008-11-05 17:56:52, Eduardo Habkost wrote:
> > This patch adds an interface to set a function that can be used to
> > disable virtualization extensions on the CPU on emergency cases, such
> > as on kdump or emergency reboot.
> > 
> > The function will be set by code that enables virtualization extensions
> > on the CPUs (i.e. KVM), and should do the very least to disable virt
> > extensions on the CPU where it is being called.
> > 
> > The functions that set the function pointer uses RCU synchronization,
> > just in case the crash NMI is triggered while KVM is unloading.
> > 
> > We can't just use the same notifiers used at reboot time (that are used
> > by non-crash-dump kexec), because at crash time some CPUs may have IRQs
> > disabled, so we can't use IPIs. The crash shutdown code use NMIs to tell
> > the other CPUs to be halted, so the notifier call will be hooked into
> > the CPU halting code that is on the crash shutdown NMI handler.
> > 
> > [v2: drop 'unsigned int cpu' arg from function]
> > [v3: make emergency_virt_disable() non-static]
> > [v4: add a config option for it: CPU_VIRT_EXTENSIONS]
> > [v5: add has_virt_extensions() function]
> > [v6: don't define the registering functions if CPU_VIRT_EXTENSIONS is
> >  not enabled]
> > [v7: use EXPORT_SYMBOL_GPL]
> > 
> 
> > --- /dev/null
> > +++ b/arch/x86/kernel/virtext.c
> > @@ -0,0 +1,89 @@
> > +/* Core CPU virtualization extensions handling
> > + *
> > + * This should carry the code for handling CPU virtualization extensions
> > + * that needs to live in the kernel core.
> > + *
> > + * Author: Eduardo Habkost <ehabkost@redhat.com>
> > + *
> > + * Copyright (C) 2008, Red Hat Inc.
> > + */
> 
> GPL?

Yes, of course.

As IANAL, I used a similar .c file as reference for the author/copyright
info header, and used arch/x86/kernel/crash.c, that doesn't refer to
the GPL also. I think I chose a bad example as reference.

arch/x86/kernel/crash.c even has "All rights reserved". Ouch.

-- 
Eduardo

WARNING: multiple messages have this Message-ID (diff)
From: Eduardo Habkost <ehabkost-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Pavel Machek <pavel-AlSwsSmVLrQ@public.gmane.org>
Cc: Andrew Morton <akpm-3NddpPZAyC0@public.gmane.org>,
	kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"Rafael J. Wysocki" <rjw-KKrjLPT3xs0@public.gmane.org>,
	Haren Myneni <hbabu-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>,
	Simon Horman <horms-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org>,
	Avi Kivity <avi-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>,
	Andrey Borzenkov <arvidjaar-JGs/UdohzUI@public.gmane.org>,
	mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	Vivek Goyal <vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	"Eric W. Biederman"
	<ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH 09/15] x86: Emergency virtualization disable function
Date: Thu, 6 Nov 2008 13:34:05 -0200	[thread overview]
Message-ID: <20081106153405.GS5247@blackpad> (raw)
In-Reply-To: <20081105222731.GA14202-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>

On Wed, Nov 05, 2008 at 11:27:32PM +0100, Pavel Machek wrote:
> On Wed 2008-11-05 17:56:52, Eduardo Habkost wrote:
> > This patch adds an interface to set a function that can be used to
> > disable virtualization extensions on the CPU on emergency cases, such
> > as on kdump or emergency reboot.
> > 
> > The function will be set by code that enables virtualization extensions
> > on the CPUs (i.e. KVM), and should do the very least to disable virt
> > extensions on the CPU where it is being called.
> > 
> > The functions that set the function pointer uses RCU synchronization,
> > just in case the crash NMI is triggered while KVM is unloading.
> > 
> > We can't just use the same notifiers used at reboot time (that are used
> > by non-crash-dump kexec), because at crash time some CPUs may have IRQs
> > disabled, so we can't use IPIs. The crash shutdown code use NMIs to tell
> > the other CPUs to be halted, so the notifier call will be hooked into
> > the CPU halting code that is on the crash shutdown NMI handler.
> > 
> > [v2: drop 'unsigned int cpu' arg from function]
> > [v3: make emergency_virt_disable() non-static]
> > [v4: add a config option for it: CPU_VIRT_EXTENSIONS]
> > [v5: add has_virt_extensions() function]
> > [v6: don't define the registering functions if CPU_VIRT_EXTENSIONS is
> >  not enabled]
> > [v7: use EXPORT_SYMBOL_GPL]
> > 
> 
> > --- /dev/null
> > +++ b/arch/x86/kernel/virtext.c
> > @@ -0,0 +1,89 @@
> > +/* Core CPU virtualization extensions handling
> > + *
> > + * This should carry the code for handling CPU virtualization extensions
> > + * that needs to live in the kernel core.
> > + *
> > + * Author: Eduardo Habkost <ehabkost-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> > + *
> > + * Copyright (C) 2008, Red Hat Inc.
> > + */
> 
> GPL?

Yes, of course.

As IANAL, I used a similar .c file as reference for the author/copyright
info header, and used arch/x86/kernel/crash.c, that doesn't refer to
the GPL also. I think I chose a bad example as reference.

arch/x86/kernel/crash.c even has "All rights reserved". Ouch.

-- 
Eduardo

  reply	other threads:[~2008-11-06 15:34 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-05 19:56 [PATCH 00/15] x86: disable virt on kdump and emergency_restart (v2) Eduardo Habkost
2008-11-05 19:56 ` Eduardo Habkost
2008-11-05 19:56 ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 01/15] x86 kdump: Extract kdump-specific code from crash_nmi_callback() Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 02/15] x86 kdump: Move crashing_cpu assignment to nmi_shootdown_cpus() Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 03/15] x86 kdump: Create kdump_nmi_shootdown_cpus() Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 04/15] x86 kdump: Make kdump_nmi_callback() a function ptr on crash_nmi_callback() Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 05/15] x86 kdump: Make nmi_shootdown_cpus() non-static Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 06/15] x86: Move nmi_shootdown_cpus() to reboot.c Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 07/15] x86: Make nmi_shootdown_cpus() available on !SMP and !X86_LOCAL_APIC Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 08/15] x86: Disable IRQs before doing anything on nmi_shootdown_cpus() Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 09/15] x86: Emergency virtualization disable function Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 22:27   ` Pavel Machek
2008-11-05 22:27     ` Pavel Machek
2008-11-06 15:34     ` Eduardo Habkost [this message]
2008-11-06 15:34       ` Eduardo Habkost
2008-11-06 15:34       ` Eduardo Habkost
2008-11-06 18:11       ` Pavel Machek
2008-11-06 18:11         ` Pavel Machek
2008-11-05 19:56 ` [PATCH 10/15] kdump: Hook emergency_virt_disable() on crash shutdown code Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 11/15] x86: disable virtualization on all CPUs if needed, on emergency_restart Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 12/15] kvm: svm: no-parameters version of svm_hardware_disable() Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 13/15] kvm: svm: register virt_disable function on hardware_setup Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 14/15] kvm: vmx: crash_hardware_disable function Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56 ` [PATCH 15/15] Revert "x86: default to reboot via ACPI" Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-05 19:56   ` Eduardo Habkost
2008-11-06  7:14   ` Ingo Molnar
2008-11-06  7:14     ` Ingo Molnar
2008-11-06  7:14     ` Ingo Molnar
2008-11-06 12:40     ` Eduardo Habkost
2008-11-06 12:40       ` Eduardo Habkost
2008-11-06 12:40       ` Eduardo Habkost
2008-11-06 14:30       ` Ingo Molnar
2008-11-06 14:30         ` Ingo Molnar
2008-11-06 14:30         ` Ingo Molnar
2008-11-06 15:06         ` Ingo Molnar
2008-11-06 15:06           ` Ingo Molnar
2008-11-06 15:06           ` Ingo Molnar
2008-11-06 15:41           ` Eric W. Biederman
2008-11-06 15:41             ` Eric W. Biederman
2008-11-06 15:52             ` Avi Kivity
2008-11-06 15:52               ` Avi Kivity
2008-11-06 15:52               ` Avi Kivity
2008-11-06 15:53           ` Andrey Borzenkov
2008-11-06 15:53             ` Andrey Borzenkov
2008-11-06 19:50             ` Len Brown
2008-11-06 19:50               ` Len Brown
2008-11-06 21:50               ` Matthew Garrett
2008-11-06 21:50                 ` Matthew Garrett
2008-11-06 22:17                 ` Len Brown
2008-11-06 22:17                   ` Len Brown
2008-11-06 22:17                   ` Len Brown
2008-11-06 23:24                   ` Matthew Garrett
2008-11-06 23:24                     ` Matthew Garrett
2008-11-07  1:01                   ` Zhao Yakui
2008-11-07  1:01                     ` Zhao Yakui
2008-11-07  0:59                     ` Matthew Garrett
2008-11-07  0:59                       ` Matthew Garrett
2008-11-07  0:59                       ` Matthew Garrett
2008-11-09 10:11                       ` Avi Kivity
2008-11-09 10:11                         ` Avi Kivity
2008-11-09 10:11                         ` Avi Kivity
2008-11-09 10:24                         ` Matthew Garrett
2008-11-09 10:24                           ` Matthew Garrett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081106153405.GS5247@blackpad \
    --to=ehabkost@redhat.com \
    --cc=akpm@osdl.org \
    --cc=arvidjaar@mail.ru \
    --cc=avi@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=hbabu@us.ibm.com \
    --cc=horms@verge.net.au \
    --cc=kexec@lists.infradead.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=pavel@suse.cz \
    --cc=rjw@sisk.pl \
    --cc=vgoyal@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.