From: Al Viro <viro@xxxxxxxxxxxxxxxxxx> ... rather than relying on ciptool(8) never passing it anything else. Give it e.g. an AF_UNIX connected socket (from socketpair(2)) and it'll oops, trying to evaluate &l2cap_pi(sock->sk)->chan->dst... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> --- net/bluetooth/cmtp/core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/bluetooth/cmtp/core.c b/net/bluetooth/cmtp/core.c index 67fe5e8..fd57db8 100644 --- a/net/bluetooth/cmtp/core.c +++ b/net/bluetooth/cmtp/core.c @@ -333,6 +333,8 @@ int cmtp_add_connection(struct cmtp_connadd_req *req, struct socket *sock) int i, err; BT_DBG(""); + if (!l2cap_is_socket(sock)) + return -EBADFD; session = kzalloc(sizeof(struct cmtp_session), GFP_KERNEL); if (!session) -- 2.1.3 -- 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