aboutsummaryrefslogtreecommitdiffstats
path: root/net/can/raw.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/can/raw.c')
-rw-r--r--net/can/raw.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/net/can/raw.c b/net/can/raw.c
index 883e9d74fddf..0eb39a7fdf64 100644
--- a/net/can/raw.c
+++ b/net/can/raw.c
@@ -305,7 +305,12 @@ static int raw_init(struct sock *sk)
305static int raw_release(struct socket *sock) 305static int raw_release(struct socket *sock)
306{ 306{
307 struct sock *sk = sock->sk; 307 struct sock *sk = sock->sk;
308 struct raw_sock *ro = raw_sk(sk); 308 struct raw_sock *ro;
309
310 if (!sk)
311 return 0;
312
313 ro = raw_sk(sk);
309 314
310 unregister_netdevice_notifier(&ro->notifier); 315 unregister_netdevice_notifier(&ro->notifier);
311 316
@@ -742,7 +747,7 @@ static int raw_recvmsg(struct kiocb *iocb, struct socket *sock,
742 return size; 747 return size;
743} 748}
744 749
745static struct proto_ops raw_ops __read_mostly = { 750static const struct proto_ops raw_ops = {
746 .family = PF_CAN, 751 .family = PF_CAN,
747 .release = raw_release, 752 .release = raw_release,
748 .bind = raw_bind, 753 .bind = raw_bind,
@@ -751,7 +756,7 @@ static struct proto_ops raw_ops __read_mostly = {
751 .accept = sock_no_accept, 756 .accept = sock_no_accept,
752 .getname = raw_getname, 757 .getname = raw_getname,
753 .poll = datagram_poll, 758 .poll = datagram_poll,
754 .ioctl = NULL, /* use can_ioctl() from af_can.c */ 759 .ioctl = can_ioctl, /* use can_ioctl() from af_can.c */
755 .listen = sock_no_listen, 760 .listen = sock_no_listen,
756 .shutdown = sock_no_shutdown, 761 .shutdown = sock_no_shutdown,
757 .setsockopt = raw_setsockopt, 762 .setsockopt = raw_setsockopt,