Hi, > > @@ -795,7 +795,7 @@ static void l2cap_sock_kill(struct sock *sk) > > static int l2cap_sock_shutdown(struct socket *sock, int how) > > { > > struct sock *sk = sock->sk; > > - struct l2cap_chan *chan = l2cap_pi(sk)->chan; > > + struct l2cap_chan *chan; > > int err = 0; > > > > BT_DBG("sock %p, sk %p", sock, sk); > > @@ -803,6 +803,8 @@ static int l2cap_sock_shutdown(struct socket *sock, int how) > > if (!sk) > > return 0; > > > > + chan = l2cap_pi(sk)->chan; > > + > > funny that this never caused any problems so far. It didn't because chan is a pointer so only offset is added to sk pointer and stored in chan. And kernel is compiled with option that prevents gcc to remove NULL checks even if pointer was already dereferenced. -- BR Szymon Janc -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html