hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/net/can/j1939/socket.c
....@@ -798,7 +798,7 @@
798798 struct j1939_sk_buff_cb *skcb;
799799 int ret = 0;
800800
801
- if (flags & ~(MSG_DONTWAIT | MSG_ERRQUEUE))
801
+ if (flags & ~(MSG_DONTWAIT | MSG_ERRQUEUE | MSG_CMSG_COMPAT))
802802 return -EINVAL;
803803
804804 if (flags & MSG_ERRQUEUE)
....@@ -1013,6 +1013,11 @@
10131013
10141014 void j1939_sk_send_loop_abort(struct sock *sk, int err)
10151015 {
1016
+ struct j1939_sock *jsk = j1939_sk(sk);
1017
+
1018
+ if (jsk->state & J1939_SOCK_ERRQUEUE)
1019
+ return;
1020
+
10161021 sk->sk_err = err;
10171022
10181023 sk->sk_error_report(sk);