--- x/net/l2tp/l2tp_core.c
+++ y/net/l2tp/l2tp_core.c
@@ -1460,6 +1460,7 @@ int l2tp_tunnel_register(struct l2tp_tun
 	struct socket *sock;
 	struct sock *sk;
 	int ret;
+	int lookup = 0;
 
 	if (tunnel->fd < 0) {
 		ret = l2tp_tunnel_sock_create(net, tunnel->tunnel_id,
@@ -1471,6 +1472,7 @@ int l2tp_tunnel_register(struct l2tp_tun
 		sock = sockfd_lookup(tunnel->fd, &ret);
 		if (!sock)
 			goto err;
+		lookup = 1;
 	}
 
 	sk = sock->sk;
@@ -1512,8 +1514,8 @@ int l2tp_tunnel_register(struct l2tp_tun
 
 	tunnel->old_sk_destruct = sk->sk_destruct;
 	sk->sk_destruct = &l2tp_tunnel_destruct;
-	lockdep_set_class_and_name(&sk->sk_lock.slock, &l2tp_socket_class,
-				   "l2tp_sock");
+	if (!lookup)
+		lockdep_set_class_and_name(&sk->sk_lock.slock, &l2tp_socket_class, "l2tp_sock");
 	sk->sk_allocation = GFP_ATOMIC;
 
 	trace_register_tunnel(tunnel);