netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).