summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2015-06-19 00:46:53 +0200
committerWilly Tarreau <w@1wt.eu>2015-09-18 13:52:13 +0200
commit7b61d03d0469e6771280da41a638bfe9c7169129 (patch)
tree1f5a3cd44059203365e5ff38c257bdedad0c2600 /net
parentc726e1d46177df427482b0b3e0f758083f83c50f (diff)
NET: ROSE: Don't dereference NULL neighbour pointer.
commit d496f7842aada20c61e6044b3395383fa972872c upstream. 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> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Ben Hutchings <ben@decadent.org.uk> (cherry picked from commit 8bbe4f448c01949084ef404eded3622086f052a6) Signed-off-by: Willy Tarreau <w@1wt.eu>
Diffstat (limited to 'net')
-rw-r--r--net/rose/af_rose.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c
index 7119ea634908..4457e9a04aca 100644
--- a/net/rose/af_rose.c
+++ b/net/rose/af_rose.c
@@ -194,7 +194,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;
}
}