aboutsummaryrefslogtreecommitdiffstats
path: root/net/can/bcm.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/can/bcm.c')
-rw-r--r--net/can/bcm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/can/bcm.c b/net/can/bcm.c
index 46f20bfafc0e..dcb75c0e66c1 100644
--- a/net/can/bcm.c
+++ b/net/can/bcm.c
@@ -268,7 +268,7 @@ static void bcm_can_tx(struct bcm_op *op)
268 268
269 /* send with loopback */ 269 /* send with loopback */
270 skb->dev = dev; 270 skb->dev = dev;
271 skb->sk = op->sk; 271 can_skb_set_owner(skb, op->sk);
272 can_send(skb, 1); 272 can_send(skb, 1);
273 273
274 /* update statistics */ 274 /* update statistics */
@@ -1223,7 +1223,7 @@ static int bcm_tx_send(struct msghdr *msg, int ifindex, struct sock *sk)
1223 1223
1224 can_skb_prv(skb)->ifindex = dev->ifindex; 1224 can_skb_prv(skb)->ifindex = dev->ifindex;
1225 skb->dev = dev; 1225 skb->dev = dev;
1226 skb->sk = sk; 1226 can_skb_set_owner(skb, sk);
1227 err = can_send(skb, 1); /* send with loopback */ 1227 err = can_send(skb, 1); /* send with loopback */
1228 dev_put(dev); 1228 dev_put(dev);
1229 1229
@@ -1256,8 +1256,7 @@ static int bcm_sendmsg(struct kiocb *iocb, struct socket *sock,
1256 1256
1257 if (!ifindex && msg->msg_name) { 1257 if (!ifindex && msg->msg_name) {
1258 /* no bound device as default => check msg_name */ 1258 /* no bound device as default => check msg_name */
1259 struct sockaddr_can *addr = 1259 DECLARE_SOCKADDR(struct sockaddr_can *, addr, msg->msg_name);
1260 (struct sockaddr_can *)msg->msg_name;
1261 1260
1262 if (msg->msg_namelen < sizeof(*addr)) 1261 if (msg->msg_namelen < sizeof(*addr))
1263 return -EINVAL; 1262 return -EINVAL;
@@ -1568,6 +1567,7 @@ static int bcm_recvmsg(struct kiocb *iocb, struct socket *sock,
1568 sock_recv_ts_and_drops(msg, sk, skb); 1567 sock_recv_ts_and_drops(msg, sk, skb);
1569 1568
1570 if (msg->msg_name) { 1569 if (msg->msg_name) {
1570 __sockaddr_check_size(sizeof(struct sockaddr_can));
1571 msg->msg_namelen = sizeof(struct sockaddr_can); 1571 msg->msg_namelen = sizeof(struct sockaddr_can);
1572 memcpy(msg->msg_name, skb->cb, msg->msg_namelen); 1572 memcpy(msg->msg_name, skb->cb, msg->msg_namelen);
1573 } 1573 }