* [PATCH] VSOCK: Drop bogus __init annotation from vsock_init_tables()
@ 2013-04-24 9:40 Geert Uytterhoeven
2013-04-25 8:22 ` David Miller
2013-05-02 6:54 ` Geert Uytterhoeven
0 siblings, 2 replies; 3+ messages in thread
From: Geert Uytterhoeven @ 2013-04-24 9:40 UTC (permalink / raw)
To: Andy King, David S. Miller, netdev; +Cc: linux-kernel, Geert Uytterhoeven
If gcc (e.g. 4.1.2) decides not to inline vsock_init_tables(), this will
cause a section mismatch:
WARNING: net/vmw_vsock/vsock.o(.text+0x1bc): Section mismatch in reference from the function __vsock_core_init() to the function .init.text:vsock_init_tables()
The function __vsock_core_init() references
the function __init vsock_init_tables().
This is often because __vsock_core_init lacks a __init
annotation or the annotation of vsock_init_tables is wrong.
This may cause crashes if VSOCKETS=y and VMWARE_VMCI_VSOCKETS=m.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
net/vmw_vsock/af_vsock.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
index 7f93e2a..2e330e8 100644
--- a/net/vmw_vsock/af_vsock.c
+++ b/net/vmw_vsock/af_vsock.c
@@ -165,7 +165,7 @@ static struct list_head vsock_bind_table[VSOCK_HASH_SIZE + 1];
static struct list_head vsock_connected_table[VSOCK_HASH_SIZE];
static DEFINE_SPINLOCK(vsock_table_lock);
-static __init void vsock_init_tables(void)
+static void vsock_init_tables(void)
{
int i;
--
1.7.0.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] VSOCK: Drop bogus __init annotation from vsock_init_tables()
2013-04-24 9:40 [PATCH] VSOCK: Drop bogus __init annotation from vsock_init_tables() Geert Uytterhoeven
@ 2013-04-25 8:22 ` David Miller
2013-05-02 6:54 ` Geert Uytterhoeven
1 sibling, 0 replies; 3+ messages in thread
From: David Miller @ 2013-04-25 8:22 UTC (permalink / raw)
To: geert; +Cc: acking, netdev, linux-kernel
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: Wed, 24 Apr 2013 11:40:55 +0200
> If gcc (e.g. 4.1.2) decides not to inline vsock_init_tables(), this will
> cause a section mismatch:
>
> WARNING: net/vmw_vsock/vsock.o(.text+0x1bc): Section mismatch in reference from the function __vsock_core_init() to the function .init.text:vsock_init_tables()
> The function __vsock_core_init() references
> the function __init vsock_init_tables().
> This is often because __vsock_core_init lacks a __init
> annotation or the annotation of vsock_init_tables is wrong.
>
> This may cause crashes if VSOCKETS=y and VMWARE_VMCI_VSOCKETS=m.
>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Applied.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] VSOCK: Drop bogus __init annotation from vsock_init_tables()
2013-04-24 9:40 [PATCH] VSOCK: Drop bogus __init annotation from vsock_init_tables() Geert Uytterhoeven
2013-04-25 8:22 ` David Miller
@ 2013-05-02 6:54 ` Geert Uytterhoeven
1 sibling, 0 replies; 3+ messages in thread
From: Geert Uytterhoeven @ 2013-05-02 6:54 UTC (permalink / raw)
To: Andy King, David S. Miller, netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, Geert Uytterhoeven, stable
CCing stable, as this patch didn't make it in v3.9.
Mainline commit ID is 22ee3b57c3ff71772b0c4178404b04f5df78d501.
On Wed, Apr 24, 2013 at 11:40 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> If gcc (e.g. 4.1.2) decides not to inline vsock_init_tables(), this will
> cause a section mismatch:
>
> WARNING: net/vmw_vsock/vsock.o(.text+0x1bc): Section mismatch in reference from the function __vsock_core_init() to the function .init.text:vsock_init_tables()
> The function __vsock_core_init() references
> the function __init vsock_init_tables().
> This is often because __vsock_core_init lacks a __init
> annotation or the annotation of vsock_init_tables is wrong.
>
> This may cause crashes if VSOCKETS=y and VMWARE_VMCI_VSOCKETS=m.
>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
> net/vmw_vsock/af_vsock.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
> index 7f93e2a..2e330e8 100644
> --- a/net/vmw_vsock/af_vsock.c
> +++ b/net/vmw_vsock/af_vsock.c
> @@ -165,7 +165,7 @@ static struct list_head vsock_bind_table[VSOCK_HASH_SIZE + 1];
> static struct list_head vsock_connected_table[VSOCK_HASH_SIZE];
> static DEFINE_SPINLOCK(vsock_table_lock);
>
> -static __init void vsock_init_tables(void)
> +static void vsock_init_tables(void)
> {
> int i;
>
> --
> 1.7.0.4
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-05-02 6:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-24 9:40 [PATCH] VSOCK: Drop bogus __init annotation from vsock_init_tables() Geert Uytterhoeven
2013-04-25 8:22 ` David Miller
2013-05-02 6:54 ` Geert Uytterhoeven
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).