Message ID | 20230622090122.574506-2-mkl@pengutronix.de (mailing list archive) |
---|---|
State | Accepted |
Commit | e38910c0072b541a91954682c8b074a93e57c09b |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] can: isotp: isotp_sendmsg(): fix return error fix on TX path | expand |
Hello: This patch was applied to netdev/net.git (main) by Marc Kleine-Budde <mkl@pengutronix.de>: On Thu, 22 Jun 2023 11:01:22 +0200 you wrote: > From: Oliver Hartkopp <socketcan@hartkopp.net> > > With commit d674a8f123b4 ("can: isotp: isotp_sendmsg(): fix return > error on FC timeout on TX path") the missing correct return value in > the case of a protocol error was introduced. > > But the way the error value has been read and sent to the user space > does not follow the common scheme to clear the error after reading > which is provided by the sock_error() function. This leads to an error > report at the following write() attempt although everything should be > working. > > [...] Here is the summary with links: - [net] can: isotp: isotp_sendmsg(): fix return error fix on TX path https://git.kernel.org/netdev/net/c/e38910c0072b You are awesome, thank you!
diff --git a/net/can/isotp.c b/net/can/isotp.c index 84f9aba02901..ca9d728d6d72 100644 --- a/net/can/isotp.c +++ b/net/can/isotp.c @@ -1112,8 +1112,9 @@ static int isotp_sendmsg(struct socket *sock, struct msghdr *msg, size_t size) if (err) goto err_event_drop; - if (sk->sk_err) - return -sk->sk_err; + err = sock_error(sk); + if (err) + return err; } return size;