Messages in this thread Patch in this message | | | Subject | Re: Asterisk deadlocks since Kernel 4.1 | From | Stefan Priebe <> | Date | Sun, 6 Dec 2015 21:56:34 +0100 |
| |
Hi Herbert,
i think i found the issue in 4.1 with netlink. Somebody made a mistake while backporting or cherry-picking your patch "netlink: Fix autobind race condition that leads to zero port ID" to 4.1.
It misses a goto in 4.1.
This goto is missing in 4.1:
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 4017e12..f15c001 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -1132,7 +1132,6 @@ static int netlink_insert(struct sock *sk, u32 portid) if (err == -EEXIST) err = -EADDRINUSE; sock_put(sk); - goto err; }
/* We need to ensure that the socket is hashed and visible. */ Can you please confirm, that this is not correct and might cause those issues.
Stefan
Am 05.12.2015 um 02:08 schrieb Herbert Xu: > On Fri, Dec 04, 2015 at 07:26:12PM +0100, Stefan Priebe wrote: >> >> * 9f87e0c - (2 months ago) netlink: Replace rhash_portid with bound >> - Herbert Xu >> * 35e9890 - (3 months ago) netlink: Fix autobind race condition that >> leads to zero port ID - Herbert Xu >> * 30c6472 - (7 months ago) netlink: Use random autobind rover - Herbert Xu > > These three patches are absolutely required in any kernel where the > netlink insertion is lockless. So yes they should be applied to > 4.1. > > Thanks, >
| |