diff mbox

NET: ROSE: Don't dereference NULL neighbour pointer.

Message ID 20150618224652.GB17494@linux-mips.org
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Ralf Baechle June 18, 2015, 10:46 p.m. UTC
A ROSE socket doesn't necessarily always have a neighbour pointer so check
if the neighbour pointer is valid before dereferencing it.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Tested-by: Bernard Pidoux <f6bvp@free.fr>
Cc: stable@vger.kernel.org #2.6.11+

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

David Miller June 23, 2015, 10:26 a.m. UTC | #1
From: Ralf Baechle <ralf@linux-mips.org>
Date: Fri, 19 Jun 2015 00:46:53 +0200

> A ROSE socket doesn't necessarily always have a neighbour pointer so check
> if the neighbour pointer is valid before dereferencing it.
> 
> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
> Tested-by: Bernard Pidoux <f6bvp@free.fr>
> Cc: stable@vger.kernel.org #2.6.11+

Applied, thanks Ralf.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c
index 8ae6030..dd304bc 100644
--- a/net/rose/af_rose.c
+++ b/net/rose/af_rose.c
@@ -192,7 +192,8 @@  static void rose_kill_by_device(struct net_device *dev)
 
 		if (rose->device == dev) {
 			rose_disconnect(s, ENETUNREACH, ROSE_OUT_OF_ORDER, 0);
-			rose->neighbour->use--;
+			if (rose->neighbour)
+				rose->neighbour->use--;
 			rose->device = NULL;
 		}
 	}