summaryrefslogtreecommitdiff
path: root/net/kcm/kcmsock.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2023-10-07 11:32:24 +0200
committerIngo Molnar <mingo@kernel.org>2023-10-07 11:32:24 +0200
commit8db30574db25fa20cdcfa03e374edc3f8b8dc301 (patch)
tree0b54686593694b68fb0537197eaa4bec7a44985d /net/kcm/kcmsock.c
parentd4d6596b43868a1e05fe5b047e73c3aff96444c6 (diff)
parent9e0bc36ab07c550d791bf17feeb479f1dfc42d89 (diff)
downloadlinux-next-8db30574db25fa20cdcfa03e374edc3f8b8dc301.tar.gz
linux-next-8db30574db25fa20cdcfa03e374edc3f8b8dc301.zip
Merge branch 'sched/urgent' into sched/core, to pick up fixes and refresh the branch
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/kcm/kcmsock.c')
-rw-r--r--net/kcm/kcmsock.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c
index 4580f61426bb..dd1d8ffd5f59 100644
--- a/net/kcm/kcmsock.c
+++ b/net/kcm/kcmsock.c
@@ -930,15 +930,18 @@ partial_message:
out_error:
kcm_push(kcm);
- if (copied && sock->type == SOCK_SEQPACKET) {
+ if (sock->type == SOCK_SEQPACKET) {
/* Wrote some bytes before encountering an
* error, return partial success.
*/
- goto partial_message;
- }
-
- if (head != kcm->seq_skb)
+ if (copied)
+ goto partial_message;
+ if (head != kcm->seq_skb)
+ kfree_skb(head);
+ } else {
kfree_skb(head);
+ kcm->seq_skb = NULL;
+ }
err = sk_stream_error(sk, msg->msg_flags, err);