Skip to content

Commit 25e2c34

Browse files
julianwiedmanndavem330
authored andcommitted
s390/qeth: avoid null pointer dereference on OSN
Access card->dev only after checking whether's its valid. Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com> Reviewed-by: Ursula Braun <ubraun@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 2d2ebb3 commit 25e2c34

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

drivers/s390/net/qeth_l2_main.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -965,7 +965,6 @@ static int qeth_l2_setup_netdev(struct qeth_card *card)
965965
case QETH_CARD_TYPE_OSN:
966966
card->dev = alloc_netdev(0, "osn%d", NET_NAME_UNKNOWN,
967967
ether_setup);
968-
card->dev->flags |= IFF_NOARP;
969968
break;
970969
default:
971970
card->dev = alloc_etherdev(0);
@@ -980,9 +979,12 @@ static int qeth_l2_setup_netdev(struct qeth_card *card)
980979
card->dev->min_mtu = 64;
981980
card->dev->max_mtu = ETH_MAX_MTU;
982981
card->dev->netdev_ops = &qeth_l2_netdev_ops;
983-
card->dev->ethtool_ops =
984-
(card->info.type != QETH_CARD_TYPE_OSN) ?
985-
&qeth_l2_ethtool_ops : &qeth_l2_osn_ops;
982+
if (card->info.type == QETH_CARD_TYPE_OSN) {
983+
card->dev->ethtool_ops = &qeth_l2_osn_ops;
984+
card->dev->flags |= IFF_NOARP;
985+
} else {
986+
card->dev->ethtool_ops = &qeth_l2_ethtool_ops;
987+
}
986988
card->dev->features |= NETIF_F_HW_VLAN_CTAG_FILTER;
987989
if (card->info.type == QETH_CARD_TYPE_OSD && !card->info.guestlan) {
988990
card->dev->hw_features = NETIF_F_SG;

0 commit comments

Comments
 (0)