]> git.hungrycats.org Git - linux/commitdiff
NET: ROSE: Don't dereference NULL neighbour pointer.
authorRalf Baechle <ralf@linux-mips.org>
Thu, 18 Jun 2015 22:46:53 +0000 (00:46 +0200)
committerZefan Li <lizefan@huawei.com>
Fri, 18 Sep 2015 01:20:47 +0000 (09:20 +0800)
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: Zefan Li <lizefan@huawei.com>
net/rose/af_rose.c

index bde7d69b440da9256e3b2d34e636a014c2ea288c..e8956365503034e9d86d095e88452cc6f7428ee4 100644 (file)
@@ -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;
                }
        }