can: merge error paths
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									d8eb93078c
								
							
						
					
					
						commit
						ebad5c0984
					
				| @ -641,17 +641,12 @@ static int raw_sendmsg(struct kiocb *iocb, struct socket *sock, | ||||
| 
 | ||||
| 	skb = sock_alloc_send_skb(sk, size, msg->msg_flags & MSG_DONTWAIT, | ||||
| 				  &err); | ||||
| 	if (!skb) { | ||||
| 		dev_put(dev); | ||||
| 		return err; | ||||
| 	} | ||||
| 	if (!skb) | ||||
| 		goto put_dev; | ||||
| 
 | ||||
| 	err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size); | ||||
| 	if (err < 0) { | ||||
| 		kfree_skb(skb); | ||||
| 		dev_put(dev); | ||||
| 		return err; | ||||
| 	} | ||||
| 	if (err < 0) | ||||
| 		goto free_skb; | ||||
| 	skb->dev = dev; | ||||
| 	skb->sk  = sk; | ||||
| 
 | ||||
| @ -660,9 +655,16 @@ static int raw_sendmsg(struct kiocb *iocb, struct socket *sock, | ||||
| 	dev_put(dev); | ||||
| 
 | ||||
| 	if (err) | ||||
| 		return err; | ||||
| 		goto send_failed; | ||||
| 
 | ||||
| 	return size; | ||||
| 
 | ||||
| free_skb: | ||||
| 	kfree_skb(skb); | ||||
| put_dev: | ||||
| 	dev_put(dev); | ||||
| send_failed: | ||||
| 	return err; | ||||
| } | ||||
| 
 | ||||
| static int raw_recvmsg(struct kiocb *iocb, struct socket *sock, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user