--- x/net/socket.c +++ y/net/socket.c @@ -3782,7 +3782,11 @@ EXPORT_SYMBOL(kernel_getpeername); int kernel_sock_shutdown(struct socket *sock, enum sock_shutdown_cmd how) { - return READ_ONCE(sock->ops)->shutdown(sock, how); + const struct proto_ops *ops = READ_ONCE(sock->ops); + if (ops) + return ops->shutdown(sock, how); + else + return 0; } EXPORT_SYMBOL(kernel_sock_shutdown);