mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 18:09:56 +00:00
s390/qeth: fix L2 header access in qeth_l3_osa_features_check()
[ Upstream commitf9c4845385] ip_finish_output_gso() may call .ndo_features_check() even before the skb has a L2 header. This conflicts with qeth_get_ip_version()'s attempt to inspect the L2 header via vlan_eth_hdr(). Switch to vlan_get_protocol(), as already used further down in the common qeth_features_check() path. Fixes:f13ade1993("s390/qeth: run non-offload L3 traffic over common xmit path") Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
af0c184ea1
commit
af9b4ab6ee
@@ -1816,7 +1816,7 @@ static netdev_features_t qeth_l3_osa_features_check(struct sk_buff *skb,
|
|||||||
struct net_device *dev,
|
struct net_device *dev,
|
||||||
netdev_features_t features)
|
netdev_features_t features)
|
||||||
{
|
{
|
||||||
if (qeth_get_ip_version(skb) != 4)
|
if (vlan_get_protocol(skb) != htons(ETH_P_IP))
|
||||||
features &= ~NETIF_F_HW_VLAN_CTAG_TX;
|
features &= ~NETIF_F_HW_VLAN_CTAG_TX;
|
||||||
return qeth_features_check(skb, dev, features);
|
return qeth_features_check(skb, dev, features);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user