Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Jan 2018 21:33:18 +0000 (UTC)
From:      Michael Zhilin <mizhka@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r328377 - in head/sys/dev/etherswitch: arswitch e6000sw infineon ip17x micrel mtkswitch rtl8366 ukswitch
Message-ID:  <201801242133.w0OLXIOe078281@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mizhka
Date: Wed Jan 24 21:33:18 2018
New Revision: 328377
URL: https://svnweb.freebsd.org/changeset/base/328377

Log:
  [etherswitch] check if_alloc returns NULL
  
  This patch is cosmetic. It checks if allocation of ifnet structure failed.
  It's better to have this check rather than assume positive scenario.
  
  Submitted by:	Dmitry Luhtionov <dmitryluhtionov@gmail.com>
  Reported by:	Dmitry Luhtionov <dmitryluhtionov@gmail.com>

Modified:
  head/sys/dev/etherswitch/arswitch/arswitch.c
  head/sys/dev/etherswitch/e6000sw/e6060sw.c
  head/sys/dev/etherswitch/infineon/adm6996fc.c
  head/sys/dev/etherswitch/ip17x/ip17x.c
  head/sys/dev/etherswitch/micrel/ksz8995ma.c
  head/sys/dev/etherswitch/mtkswitch/mtkswitch.c
  head/sys/dev/etherswitch/rtl8366/rtl8366rb.c
  head/sys/dev/etherswitch/ukswitch/ukswitch.c

Modified: head/sys/dev/etherswitch/arswitch/arswitch.c
==============================================================================
--- head/sys/dev/etherswitch/arswitch/arswitch.c	Wed Jan 24 21:26:01 2018	(r328376)
+++ head/sys/dev/etherswitch/arswitch/arswitch.c	Wed Jan 24 21:33:18 2018	(r328377)
@@ -177,6 +177,12 @@ arswitch_attach_phys(struct arswitch_softc *sc)
 	snprintf(name, IFNAMSIZ, "%sport", device_get_nameunit(sc->sc_dev));
 	for (phy = 0; phy < sc->numphys; phy++) {
 		sc->ifp[phy] = if_alloc(IFT_ETHER);
+		if (sc->ifp[phy] == NULL) {
+			device_printf(sc->sc_dev, "couldn't allocate ifnet structure\n");
+			err = ENOMEM;
+			break;
+		}
+
 		sc->ifp[phy]->if_softc = sc;
 		sc->ifp[phy]->if_flags |= IFF_UP | IFF_BROADCAST |
 		    IFF_DRV_RUNNING | IFF_SIMPLEX;

Modified: head/sys/dev/etherswitch/e6000sw/e6060sw.c
==============================================================================
--- head/sys/dev/etherswitch/e6000sw/e6060sw.c	Wed Jan 24 21:26:01 2018	(r328376)
+++ head/sys/dev/etherswitch/e6000sw/e6060sw.c	Wed Jan 24 21:33:18 2018	(r328377)
@@ -218,6 +218,12 @@ e6060sw_attach_phys(struct e6060sw_softc *sc)
 		sc->ifpport[phy] = port;
 		sc->portphy[port] = phy;
 		sc->ifp[port] = if_alloc(IFT_ETHER);
+		if (sc->ifp[port] == NULL) {
+			device_printf(sc->sc_dev, "couldn't allocate ifnet structure\n");
+			err = ENOMEM;
+			break;
+		}
+
 		sc->ifp[port]->if_softc = sc;
 		sc->ifp[port]->if_flags |= IFF_UP | IFF_BROADCAST |
 		    IFF_DRV_RUNNING | IFF_SIMPLEX;

Modified: head/sys/dev/etherswitch/infineon/adm6996fc.c
==============================================================================
--- head/sys/dev/etherswitch/infineon/adm6996fc.c	Wed Jan 24 21:26:01 2018	(r328376)
+++ head/sys/dev/etherswitch/infineon/adm6996fc.c	Wed Jan 24 21:33:18 2018	(r328377)
@@ -175,6 +175,12 @@ adm6996fc_attach_phys(struct adm6996fc_softc *sc)
 		sc->ifpport[phy] = port;
 		sc->portphy[port] = phy;
 		sc->ifp[port] = if_alloc(IFT_ETHER);
+		if (sc->ifp[port] == NULL) {
+			device_printf(sc->sc_dev, "couldn't allocate ifnet structure\n");
+			err = ENOMEM;
+			break;
+		}
+
 		sc->ifp[port]->if_softc = sc;
 		sc->ifp[port]->if_flags |= IFF_UP | IFF_BROADCAST |
 		    IFF_DRV_RUNNING | IFF_SIMPLEX;

Modified: head/sys/dev/etherswitch/ip17x/ip17x.c
==============================================================================
--- head/sys/dev/etherswitch/ip17x/ip17x.c	Wed Jan 24 21:26:01 2018	(r328376)
+++ head/sys/dev/etherswitch/ip17x/ip17x.c	Wed Jan 24 21:33:18 2018	(r328377)
@@ -174,6 +174,12 @@ ip17x_attach_phys(struct ip17x_softc *sc)
 		sc->phyport[phy] = port;
 		sc->portphy[port] = phy;
 		sc->ifp[port] = if_alloc(IFT_ETHER);
+		if (sc->ifp[port] == NULL) {
+			device_printf(sc->sc_dev, "couldn't allocate ifnet structure\n");
+			err = ENOMEM;
+			break;
+		}
+
 		sc->ifp[port]->if_softc = sc;
 		sc->ifp[port]->if_flags |= IFF_UP | IFF_BROADCAST |
 		    IFF_DRV_RUNNING | IFF_SIMPLEX;

Modified: head/sys/dev/etherswitch/micrel/ksz8995ma.c
==============================================================================
--- head/sys/dev/etherswitch/micrel/ksz8995ma.c	Wed Jan 24 21:26:01 2018	(r328376)
+++ head/sys/dev/etherswitch/micrel/ksz8995ma.c	Wed Jan 24 21:33:18 2018	(r328377)
@@ -221,6 +221,12 @@ ksz8995ma_attach_phys(struct ksz8995ma_softc *sc)
 		sc->ifpport[phy] = port;
 		sc->portphy[port] = phy;
 		sc->ifp[port] = if_alloc(IFT_ETHER);
+		if (sc->ifp[port] == NULL) {
+			device_printf(sc->sc_dev, "couldn't allocate ifnet structure\n");
+			err = ENOMEM;
+			break;
+		}
+
 		sc->ifp[port]->if_softc = sc;
 		sc->ifp[port]->if_flags |= IFF_UP | IFF_BROADCAST |
 		    IFF_DRV_RUNNING | IFF_SIMPLEX;

Modified: head/sys/dev/etherswitch/mtkswitch/mtkswitch.c
==============================================================================
--- head/sys/dev/etherswitch/mtkswitch/mtkswitch.c	Wed Jan 24 21:26:01 2018	(r328376)
+++ head/sys/dev/etherswitch/mtkswitch/mtkswitch.c	Wed Jan 24 21:33:18 2018	(r328377)
@@ -122,6 +122,12 @@ mtkswitch_attach_phys(struct mtkswitch_softc *sc)
 			continue;
 		}
 		sc->ifp[phy] = if_alloc(IFT_ETHER);
+		if (sc->ifp[phy] == NULL) {
+			device_printf(sc->sc_dev, "couldn't allocate ifnet structure\n");
+			err = ENOMEM;
+			break;
+		}
+
 		sc->ifp[phy]->if_softc = sc;
 		sc->ifp[phy]->if_flags |= IFF_UP | IFF_BROADCAST |
 		    IFF_DRV_RUNNING | IFF_SIMPLEX;

Modified: head/sys/dev/etherswitch/rtl8366/rtl8366rb.c
==============================================================================
--- head/sys/dev/etherswitch/rtl8366/rtl8366rb.c	Wed Jan 24 21:26:01 2018	(r328376)
+++ head/sys/dev/etherswitch/rtl8366/rtl8366rb.c	Wed Jan 24 21:33:18 2018	(r328377)
@@ -239,6 +239,12 @@ rtl8366rb_attach(device_t dev)
 	/* PHYs need an interface, so we generate a dummy one */
 	for (i = 0; i < sc->numphys; i++) {
 		sc->ifp[i] = if_alloc(IFT_ETHER);
+		if (sc->ifp[i] == NULL) {
+			device_printf(sc->sc_dev, "couldn't allocate ifnet structure\n");
+			err = ENOMEM;
+			break;
+		}
+
 		sc->ifp[i]->if_softc = sc;
 		sc->ifp[i]->if_flags |= IFF_UP | IFF_BROADCAST | IFF_DRV_RUNNING
 			| IFF_SIMPLEX;

Modified: head/sys/dev/etherswitch/ukswitch/ukswitch.c
==============================================================================
--- head/sys/dev/etherswitch/ukswitch/ukswitch.c	Wed Jan 24 21:26:01 2018	(r328376)
+++ head/sys/dev/etherswitch/ukswitch/ukswitch.c	Wed Jan 24 21:33:18 2018	(r328377)
@@ -126,6 +126,12 @@ ukswitch_attach_phys(struct ukswitch_softc *sc)
 		sc->ifpport[phy] = port;
 		sc->portphy[port] = phy;
 		sc->ifp[port] = if_alloc(IFT_ETHER);
+		if (sc->ifp[port] == NULL) {
+			device_printf(sc->sc_dev, "couldn't allocate ifnet structure\n");
+			err = ENOMEM;
+			break;
+		}
+
 		sc->ifp[port]->if_softc = sc;
 		sc->ifp[port]->if_flags |= IFF_UP | IFF_BROADCAST |
 		    IFF_DRV_RUNNING | IFF_SIMPLEX;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201801242133.w0OLXIOe078281>