Hi Herbert, On the same path sk_set_owner also gets called twice, I think this causes double module use count when creating sockets. Module use count need some attention all over x25.
Im not sure if the fix is as straightforward, the calls are: sock_init_data(sock,sk) vs sock_init_data(NULL,sk) Andrew. On Thu, 2005-03-03 at 12:14, Herbert Poetzl wrote: > Hi Folks! > > x25_create() [net/x25/af_x25.c] is calling sock_init_data() > twice ... once indirectly via x25_alloc_socket() and a > second time directly via sock_init_data(sock, sk); > > while this might not look as critical as it seems, it can > easily break stuff which assumes that sock_init_data() > isn't called twice on the same socket ... > > maybe something like this might be appropriate? > > --- ./net/x25/af_x25.c.orig 2005-03-02 12:39:11 +0100 > +++ ./net/x25/af_x25.c 2005-03-03 02:12:11 +0100 > @@ -490,7 +490,6 @@ static int x25_create(struct socket *soc > > x25 = x25_sk(sk); > > - sock_init_data(sock, sk); > sk_set_owner(sk, THIS_MODULE); > > x25_init_timers(sk); > > > best, > Herbert > > - > To unsubscribe from this list: send the line "unsubscribe linux-x25" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html - To unsubscribe from this list: send the line "unsubscribe linux-x25" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html