All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Assmann <sassmann@redhat.com>
To: xen-devel@lists.xensource.com
Subject: [PATCH] xen: fix section mismatch in reference from the function xen_hvm_init_shared_info()
Date: Tue, 30 Nov 2010 17:28:02 +0100	[thread overview]
Message-ID: <4CF52612.2080709@redhat.com> (raw)

From: Stefan Assmann <sassmann@redhat.com>

The following warning shows up when building the kernel with
make CONFIG_DEBUG_SECTION_MISMATCH=y.

WARNING: arch/x86/built-in.o(.text+0x475): Section mismatch in reference from the function xen_hvm_init_shared_info() to the function .init.text:extend_brk()
The function xen_hvm_init_shared_info() references
the function __init extend_brk().
This is often because xen_hvm_init_shared_info lacks a __init
annotation or the annotation of extend_brk is wrong.

The problem is that xen_hvm_init_shared_info() calls extend_brk() which is
an __init function. However xen_hvm_init_shared_info() cannot be an
__init function as it's called on system resume as well. Easy fix by
moving extend_brk() out of the function.

Signed-off-by: Stefan Assmann <sassmann@redhat.com>
---
 arch/x86/xen/enlighten.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 02c710b..13b11fd 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -83,6 +83,7 @@ EXPORT_SYMBOL(machine_to_phys_order);
 struct start_info *xen_start_info;
 EXPORT_SYMBOL_GPL(xen_start_info);

+struct shared_info *shared_info_page;
 struct shared_info xen_dummy_shared_info;

 void *xen_initial_gdt;
@@ -1310,11 +1311,7 @@ void xen_hvm_init_shared_info(void)
 {
 	int cpu;
 	struct xen_add_to_physmap xatp;
-	static struct shared_info *shared_info_page = 0;

-	if (!shared_info_page)
-		shared_info_page = (struct shared_info *)
-			extend_brk(PAGE_SIZE, PAGE_SIZE);
 	xatp.domid = DOMID_SELF;
 	xatp.idx = 0;
 	xatp.space = XENMAPSPACE_shared_info;
@@ -1365,6 +1362,9 @@ static void __init xen_hvm_guest_init(void)
 	if (r < 0)
 		return;

+	shared_info_page = (struct shared_info *)
+		extend_brk(PAGE_SIZE, PAGE_SIZE);
+
 	xen_hvm_init_shared_info();

 	if (xen_feature(XENFEAT_hvm_callback_vector))
-- 
1.7.3.2

             reply	other threads:[~2010-11-30 16:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-30 16:28 Stefan Assmann [this message]
2010-12-01 11:26 ` [PATCH] xen: fix section mismatch in reference from the function xen_hvm_init_shared_info() Stefano Stabellini
2010-12-01 11:38   ` Stefan Assmann

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=4CF52612.2080709@redhat.com \
    --to=sassmann@redhat.com \
    --cc=xen-devel@lists.xensource.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.