On Sun, Jul 09, 2017 at 09:40:43PM +0100, David Miller wrote: > > > It look like PF_ALG sets up a ->sk in alg_create() (but this > > would get over-written in alg_accept()?)
No it does not. The struct socket comes from sys_accept() and AFAICS it doesn't carry a struck sock with it. > > Cc'ing Herbert to see if this is expected behavior (and PF_ALG > > somehow does the right thing with the refcount for the ->sk > > set up in alg_create) in which case I suppose we should drop the > > WARN_ON. > > I think we've found yet another socket leak, this time in > AF_ALG. Hmm, I can't see the problem in af_alg_accept. The struct socket comes directly from sys_accept() which creates it using sock_alloc. So the only thing I can think of is that the memory returned by sock_alloc is not zeroed and therefore the WARN_ON is just reading garbage. Cheers, -- Email: Herbert Xu <herb...@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt