Commit f5738e2e authored by Ursula Braun's avatar Ursula Braun Committed by David S. Miller

af_iucv: wrong mapping of sent and confirmed skbs

When sending data through IUCV a MESSAGE COMPLETE interrupt
signals that sent data memory can be freed or reused again.
With commit f9c41a62
"af_iucv: fix recvmsg by replacing skb_pull() function" the
MESSAGE COMPLETE callback iucv_callback_txdone() identifies
the wrong skb as being confirmed, which leads to data corruption.
This patch fixes the skb mapping logic in iucv_callback_txdone().
Signed-off-by: default avatarUrsula Braun <ursula.braun@de.ibm.com>
Signed-off-by: default avatarFrank Blaschka <frank.blaschka@de.ibm.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 03a58baa
...@@ -1830,7 +1830,7 @@ static void iucv_callback_txdone(struct iucv_path *path, ...@@ -1830,7 +1830,7 @@ static void iucv_callback_txdone(struct iucv_path *path,
spin_lock_irqsave(&list->lock, flags); spin_lock_irqsave(&list->lock, flags);
while (list_skb != (struct sk_buff *)list) { while (list_skb != (struct sk_buff *)list) {
if (msg->tag != IUCV_SKB_CB(list_skb)->tag) { if (msg->tag == IUCV_SKB_CB(list_skb)->tag) {
this = list_skb; this = list_skb;
break; break;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment