Message ID | 1263114404-9340-1-git-send-email-jslaby@suse.cz |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
diff --git a/net/ipv6/proc.c b/net/ipv6/proc.c index c9605c3..53f4ef5 100644 --- a/net/ipv6/proc.c +++ b/net/ipv6/proc.c @@ -256,11 +256,12 @@ int snmp6_register_dev(struct inet6_dev *idev) int snmp6_unregister_dev(struct inet6_dev *idev) { - struct net *net = dev_net(idev->dev); - if (!net->mib.proc_net_devsnmp6) - return -ENOENT; + struct net *net; if (!idev || !idev->stats.proc_dir_entry) return -EINVAL; + net = dev_net(idev->dev); + if (!net->mib.proc_net_devsnmp6) + return -ENOENT; remove_proc_entry(idev->stats.proc_dir_entry->name, net->mib.proc_net_devsnmp6); idev->stats.proc_dir_entry = NULL;
Stanse found a potential null dereference in snmp6_unregister_dev. There is a check for idev being NULL, but it is dereferenced earlier. Move the dereference after the check. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Cc: "David S. Miller" <davem@davemloft.net> Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> Cc: "Pekka Savola (ipv6)" <pekkas@netcore.fi> Cc: James Morris <jmorris@namei.org> Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Cc: Patrick McHardy <kaber@trash.net> Cc: netdev@vger.kernel.org --- net/ipv6/proc.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)