2005-04-02 19:46:21

by James Bottomley

[permalink] [raw]
Subject: [PATCH] fix boot hang on some architectures

Well, this is a brown paper bag for someone. The new protocol
registration locking uses a rwlock to limit access to the protocol list.
Unfortunately, the initialisation:

static rwlock_t proto_list_lock;

Only works to initialise the lock as unlocked on platforms whose unlock
signal is all zeros. On other platforms, they think it's already locked
and hang forever.

Signed-off-by: James Bottomley <[email protected]>


===== net/core/sock.c 1.67 vs edited =====
--- 1.67/net/core/sock.c 2005-03-26 17:04:35 -06:00
+++ edited/net/core/sock.c 2005-04-02 13:37:20 -06:00
@@ -1352,7 +1352,7 @@

EXPORT_SYMBOL(sk_common_release);

-static rwlock_t proto_list_lock;
+static DEFINE_RWLOCK(proto_list_lock);
static LIST_HEAD(proto_list);

int proto_register(struct proto *prot, int alloc_slab)



2005-04-03 15:21:09

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] fix boot hang on some architectures

Em Sat, Apr 02, 2005 at 01:46:03PM -0600, James Bottomley escreveu:
> Well, this is a brown paper bag for someone. The new protocol

/me using such bag now :(

Thanks a lot for the fix.

David, Please apply.

> registration locking uses a rwlock to limit access to the protocol list.
> Unfortunately, the initialisation:
>
> static rwlock_t proto_list_lock;
>
> Only works to initialise the lock as unlocked on platforms whose unlock
> signal is all zeros. On other platforms, they think it's already locked
> and hang forever.
>
> Signed-off-by: James Bottomley <[email protected]>
>
>
> ===== net/core/sock.c 1.67 vs edited =====
> --- 1.67/net/core/sock.c 2005-03-26 17:04:35 -06:00
> +++ edited/net/core/sock.c 2005-04-02 13:37:20 -06:00
> @@ -1352,7 +1352,7 @@
>
> EXPORT_SYMBOL(sk_common_release);
>
> -static rwlock_t proto_list_lock;
> +static DEFINE_RWLOCK(proto_list_lock);
> static LIST_HEAD(proto_list);
>
> int proto_register(struct proto *prot, int alloc_slab)

2005-04-03 21:23:26

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] fix boot hang on some architectures

On Sun, 3 Apr 2005 12:21:01 -0300
Arnaldo Carvalho de Melo <[email protected]> wrote:

> Em Sat, Apr 02, 2005 at 01:46:03PM -0600, James Bottomley escreveu:
> > Well, this is a brown paper bag for someone. The new protocol
>
> /me using such bag now :(
>
> Thanks a lot for the fix.
>
> David, Please apply.

Done, thanks everyone.