net/af_iucv: build proper skbs for HiperTransport
authorJulian Wiedmann <jwi@linux.ibm.com>
Tue, 18 Jun 2019 18:43:00 +0000 (20:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jan 2020 13:50:56 +0000 (14:50 +0100)
commit9cbefb0fdefcdca66fca88208f4467eb119b56f4
treeb95a9980aecf9af8c4444ef627250416f69a496c
parent1441242c357ea952993e999a2b5c8808c1d7be58
net/af_iucv: build proper skbs for HiperTransport

[ Upstream commit 238965b71b968dc5b3c0fe430e946f488322c4b5 ]

The HiperSockets-based transport path in af_iucv is still too closely
entangled with qeth.
With commit a647a02512ca ("s390/qeth: speed-up L3 IQD xmit"), the
relevant xmit code in qeth has begun to use skb_cow_head(). So to avoid
unnecessary skb head expansions, af_iucv must learn to
1) respect dev->needed_headroom when allocating skbs, and
2) drop the header reference before cloning the skb.

While at it, also stop hard-coding the LL-header creation stage and just
use the appropriate helper.

Fixes: a647a02512ca ("s390/qeth: speed-up L3 IQD xmit")
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/iucv/af_iucv.c