2009-07-02 05:43:06

by Rakib Mullick

[permalink] [raw]
Subject: [PATCH] x86,kvm: Fix section mismatches in kvm.c

Impact: Fix section mismatch.

The function paravirt_ops_setup() has been refering the variable
no_timer_check, which is a __initdata. Thus generates the following
warning. paravirt_ops_setup() function is called from kvm_guest_init()
which is a __init function. So to fix this we mark paravirt_ops_setup
as __init.

Thanks,

LD arch/x86/built-in.o
WARNING: arch/x86/built-in.o(.text+0x166ce): Section mismatch in
reference from the function paravirt_ops_setup() to the variable
.init.data:no_timer_check
The function paravirt_ops_setup() references
the variable __initdata no_timer_check.
This is often because paravirt_ops_setup lacks a __initdata
annotation or the annotation of no_timer_check is wrong.

---
Signed-off-by: Rakib Mullick <[email protected]>

--- linus/arch/x86/kernel/kvm.c 2009-07-01 20:43:56.124988432 +0600
+++ rakib/arch/x86/kernel/kvm.c 2009-07-01 20:42:38.000000000 +0600
@@ -200,7 +200,7 @@ static void kvm_leave_lazy_mmu(void)
state->mode = paravirt_get_lazy_mode();
}

-static void paravirt_ops_setup(void)
+static void __init paravirt_ops_setup(void)
{
pv_info.name = "KVM";
pv_info.paravirt_enabled = 1;


2009-07-02 11:23:14

by Avi Kivity

[permalink] [raw]
Subject: Re: [PATCH] x86,kvm: Fix section mismatches in kvm.c

On 07/02/2009 08:40 AM, Rakib Mullick wrote:
> Impact: Fix section mismatch.
>
> The function paravirt_ops_setup() has been refering the variable
> no_timer_check, which is a __initdata. Thus generates the following
> warning. paravirt_ops_setup() function is called from kvm_guest_init()
> which is a __init function. So to fix this we mark paravirt_ops_setup
> as __init.
>

Ingo, if you already have something queued up for 2.6.31, please tack
this on.

--
error compiling committee.c: too many arguments to function

2009-07-03 09:13:19

by Rakib Mullick

[permalink] [raw]
Subject: [tip:x86/urgent] x86, kvm: Fix section mismatches in kvm.c

Commit-ID: 0931b62509187081a3154634989726ba3d275f8d
Gitweb: http://git.kernel.org/tip/0931b62509187081a3154634989726ba3d275f8d
Author: Rakib Mullick <[email protected]>
AuthorDate: Thu, 2 Jul 2009 11:40:36 +0600
Committer: Ingo Molnar <[email protected]>
CommitDate: Fri, 3 Jul 2009 11:10:56 +0200

x86, kvm: Fix section mismatches in kvm.c

The function paravirt_ops_setup() has been refering the
variable no_timer_check, which is a __initdata. Thus generates
the following warning. paravirt_ops_setup() function is called
from kvm_guest_init() which is a __init function. So to fix
this we mark paravirt_ops_setup as __init.

The sections-check output that warned us about this was:

LD arch/x86/built-in.o
WARNING: arch/x86/built-in.o(.text+0x166ce): Section mismatch in
reference from the function paravirt_ops_setup() to the variable
.init.data:no_timer_check
The function paravirt_ops_setup() references
the variable __initdata no_timer_check.
This is often because paravirt_ops_setup lacks a __initdata
annotation or the annotation of no_timer_check is wrong.

Signed-off-by: Rakib Mullick <[email protected]>
Acked-by: Avi Kivity <[email protected]>
Cc: Andrew Morton <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>


---
arch/x86/kernel/kvm.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index a78ecad..c664d51 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -200,7 +200,7 @@ static void kvm_leave_lazy_mmu(void)
state->mode = paravirt_get_lazy_mode();
}

-static void paravirt_ops_setup(void)
+static void __init paravirt_ops_setup(void)
{
pv_info.name = "KVM";
pv_info.paravirt_enabled = 1;

2009-07-03 12:48:01

by Rakib Mullick

[permalink] [raw]
Subject: [tip:x86/urgent] x86, kvm: Fix section mismatches in kvm.c

Commit-ID: d3ac88157c1e9153f37cd2b9313117ae11735063
Gitweb: http://git.kernel.org/tip/d3ac88157c1e9153f37cd2b9313117ae11735063
Author: Rakib Mullick <[email protected]>
AuthorDate: Thu, 2 Jul 2009 11:40:36 +0600
Committer: Ingo Molnar <[email protected]>
CommitDate: Fri, 3 Jul 2009 14:34:22 +0200

x86, kvm: Fix section mismatches in kvm.c

The function paravirt_ops_setup() has been refering the
variable no_timer_check, which is a __initdata. Thus generates
the following warning. paravirt_ops_setup() function is called
from kvm_guest_init() which is a __init function. So to fix
this we mark paravirt_ops_setup as __init.

The sections-check output that warned us about this was:

LD arch/x86/built-in.o
WARNING: arch/x86/built-in.o(.text+0x166ce): Section mismatch in
reference from the function paravirt_ops_setup() to the variable
.init.data:no_timer_check
The function paravirt_ops_setup() references
the variable __initdata no_timer_check.
This is often because paravirt_ops_setup lacks a __initdata
annotation or the annotation of no_timer_check is wrong.

Signed-off-by: Rakib Mullick <[email protected]>
Acked-by: Avi Kivity <[email protected]>
Cc: Andrew Morton <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>


---
arch/x86/kernel/kvm.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index a78ecad..c664d51 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -200,7 +200,7 @@ static void kvm_leave_lazy_mmu(void)
state->mode = paravirt_get_lazy_mode();
}

-static void paravirt_ops_setup(void)
+static void __init paravirt_ops_setup(void)
{
pv_info.name = "KVM";
pv_info.paravirt_enabled = 1;