[PATCH 8/9] x86: check kexec relocation code fits in a page
Daniel Kiper
daniel.kiper at oracle.com
Mon Sep 16 08:34:34 EDT 2013
On Thu, Sep 12, 2013 at 08:49:06PM +0100, David Vrabel wrote:
> From: David Vrabel <david.vrabel at citrix.com>
>
> The kexec relocation (control) code must fit in a single page so add a
> link time check for this.
>
> Signed-off-by: David Vrabel <david.vrabel at citrix.com>
> ---
> xen/arch/x86/xen.lds.S | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
> index 9600cdf..078bac6 100644
> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -198,3 +198,5 @@ SECTIONS
> .stab.indexstr 0 : { *(.stab.indexstr) }
> .comment 0 : { *(.comment) }
> }
> +
> +ASSERT(__kexec_reloc_size <= PAGE_SIZE, "kexec control code is too large")
ASSERT(kexec_reloc_size - kexec_reloc <= PAGE_SIZE, "kexec control code is too large")
This way you could remove this crazy __kexec_reloc_size variable.
Last time I sent broken solution for that issue. This one works.
Daniel
More information about the kexec
mailing list