From: David Miller <davem@davemloft.net>
To: yoshfuji@linux-ipv6.org
Cc: 12o3l@tiscali.nl, netdev@vger.kernel.org
Subject: Re: [BUG] in inet6_create
Date: Wed, 07 Nov 2007 02:34:31 -0800 (PST) [thread overview]
Message-ID: <20071107.023431.52915555.davem@davemloft.net> (raw)
In-Reply-To: <20071105.200046.69224507.yoshfuji@linux-ipv6.org>
From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org>
Date: Mon, 05 Nov 2007 20:00:46 +0900 (JST)
> [IPV6]: Ensure to initialize inetsw6 array before we start accepting socket.
>
> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
>
> diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
> index ecbd388..9ecd41b 100644
> --- a/net/ipv6/af_inet6.c
> +++ b/net/ipv6/af_inet6.c
> @@ -789,6 +789,7 @@ static int __init inet6_init(void)
> /* Register the socket-side information for inet6_create. */
> for(r = &inetsw6[0]; r < &inetsw6[SOCK_MAX]; ++r)
> INIT_LIST_HEAD(r);
> + synchronize_net();
>
> /* We MUST register RAW sockets before we create the ICMP6,
> * IGMP6, or NDISC control sockets.
>
I don't see how this can make a difference.
sock_register() takes spinlocks, and therefore provides
a full memory barrier. The list initializations MUST
appear before any code path can see inet6_create() and
friends.
I simply cannot see how this crash is even possible.
Also, the original bug reporter cannot provide an inet6.o image that
matches any of his OOPS traces, so we cannot analyze this bug properly.
prev parent reply other threads:[~2007-11-07 10:34 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-01 20:07 [BUG] in inet6_create Roel Kluin
2007-11-01 21:14 ` Roel Kluin
2007-11-02 9:15 ` Pavel Emelyanov
2007-11-02 17:51 ` Roel Kluin
2007-11-06 8:14 ` Pavel Emelyanov
2007-11-06 15:44 ` Roel Kluin
2007-11-06 16:06 ` Pavel Emelyanov
2007-11-06 17:31 ` Roel Kluin
2007-11-02 9:59 ` Pavel Emelyanov
2007-11-02 12:54 ` Pavel Emelyanov
2007-11-05 11:00 ` YOSHIFUJI Hideaki / 吉藤英明
2007-11-07 10:34 ` David Miller [this message]
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=20071107.023431.52915555.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=12o3l@tiscali.nl \
--cc=netdev@vger.kernel.org \
--cc=yoshfuji@linux-ipv6.org \
/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 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).