diff mbox

[1/1] net: ehea: avoid null pointer dereference

Message ID 1463516934-10115-1-git-send-email-xypron.glpk@gmx.de
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Heinrich Schuchardt May 17, 2016, 8:28 p.m. UTC
ehea_get_port may return NULL. Do not dereference NULL value.

Fixes: 8c4877a4128e ("ehea: Use the standard logging functions")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 drivers/net/ethernet/ibm/ehea/ehea_main.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

Comments

Thadeu Lima de Souza Cascardo May 17, 2016, 9:33 p.m. UTC | #1
On Tue, May 17, 2016 at 10:28:54PM +0200, Heinrich Schuchardt wrote:
> ehea_get_port may return NULL. Do not dereference NULL value.
> 
> Fixes: 8c4877a4128e ("ehea: Use the standard logging functions")
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

Acked-by: Thadeu Lima de Souza Cascardo <cascardo@debian.org>

> ---
>  drivers/net/ethernet/ibm/ehea/ehea_main.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c
> index 2a0dc12..54efa9a 100644
> --- a/drivers/net/ethernet/ibm/ehea/ehea_main.c
> +++ b/drivers/net/ethernet/ibm/ehea/ehea_main.c
> @@ -1169,16 +1169,15 @@ static void ehea_parse_eqe(struct ehea_adapter *adapter, u64 eqe)
>  	ec = EHEA_BMASK_GET(NEQE_EVENT_CODE, eqe);
>  	portnum = EHEA_BMASK_GET(NEQE_PORTNUM, eqe);
>  	port = ehea_get_port(adapter, portnum);
> +	if (!port) {
> +		netdev_err(NULL, "unknown portnum %x\n", portnum);
> +		return;
> +	}
>  	dev = port->netdev;
>  
>  	switch (ec) {
>  	case EHEA_EC_PORTSTATE_CHG:	/* port state change */
>  
> -		if (!port) {
> -			netdev_err(dev, "unknown portnum %x\n", portnum);
> -			break;
> -		}
> -
>  		if (EHEA_BMASK_GET(NEQE_PORT_UP, eqe)) {
>  			if (!netif_carrier_ok(dev)) {
>  				ret = ehea_sense_port_attr(port);
> -- 
> 2.1.4
>
David Miller May 19, 2016, 6:26 p.m. UTC | #2
From: Heinrich Schuchardt <xypron.glpk@gmx.de>
Date: Tue, 17 May 2016 22:28:54 +0200

> ehea_get_port may return NULL. Do not dereference NULL value.
> 
> Fixes: 8c4877a4128e ("ehea: Use the standard logging functions")
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

Applied.
diff mbox

Patch

diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c
index 2a0dc12..54efa9a 100644
--- a/drivers/net/ethernet/ibm/ehea/ehea_main.c
+++ b/drivers/net/ethernet/ibm/ehea/ehea_main.c
@@ -1169,16 +1169,15 @@  static void ehea_parse_eqe(struct ehea_adapter *adapter, u64 eqe)
 	ec = EHEA_BMASK_GET(NEQE_EVENT_CODE, eqe);
 	portnum = EHEA_BMASK_GET(NEQE_PORTNUM, eqe);
 	port = ehea_get_port(adapter, portnum);
+	if (!port) {
+		netdev_err(NULL, "unknown portnum %x\n", portnum);
+		return;
+	}
 	dev = port->netdev;
 
 	switch (ec) {
 	case EHEA_EC_PORTSTATE_CHG:	/* port state change */
 
-		if (!port) {
-			netdev_err(dev, "unknown portnum %x\n", portnum);
-			break;
-		}
-
 		if (EHEA_BMASK_GET(NEQE_PORT_UP, eqe)) {
 			if (!netif_carrier_ok(dev)) {
 				ret = ehea_sense_port_attr(port);