diff options
author | Julian Wiedmann <jwi@linux.ibm.com> | 2019-06-05 13:48:49 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-06-05 11:48:57 -0700 |
commit | 0cd6783d3c7d40be165d1f3c811cedf0e3dfcdf1 (patch) | |
tree | 5ae38c5aec257f6b5430f167e8a5d8b22cad82b4 /drivers/sfi | |
parent | 72c87976c5abbf8a834ad85f10d03c0cd58b985c (diff) | |
download | linux-0cd6783d3c7d40be165d1f3c811cedf0e3dfcdf1.tar.bz2 |
s390/qeth: check dst entry before use
While qeth_l3 uses netif_keep_dst() to hold onto the dst, a skb's dst
may still have been obsoleted (via dst_dev_put()) by the time that we
end up using it. The dst then points to the loopback interface, which
means the neighbour lookup in qeth_l3_get_cast_type() determines a bogus
cast type of RTN_BROADCAST.
For IQD interfaces this causes us to place such skbs on the wrong
HW queue, resulting in TX errors.
Fix-up the various call sites to first validate the dst entry with
dst_check(), and fall back accordingly.
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/sfi')
0 files changed, 0 insertions, 0 deletions