summaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6')
-rw-r--r--net/ipv6/addrconf.c4
-rw-r--r--net/ipv6/af_inet6.c7
-rw-r--r--net/ipv6/ndisc.c3
3 files changed, 8 insertions, 6 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index a61be48c8..362b606cf 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -5,7 +5,7 @@
* Authors:
* Pedro Roque <roque@di.fc.ul.pt>
*
- * $Id: addrconf.c,v 1.45 1998/08/26 12:04:41 davem Exp $
+ * $Id: addrconf.c,v 1.46 1999/01/12 14:34:47 davem Exp $
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -1119,7 +1119,7 @@ int addrconf_notify(struct notifier_block *this, unsigned long event,
if (dev->mtu >= IPV6_MIN_MTU) {
struct inet6_dev *idev;
- if ((idev = ipv6_find_idev(dev)) == NULL)
+ if ((idev = ipv6_get_idev(dev)) == NULL)
break;
idev->cnf.mtu6 = dev->mtu;
rt6_mtu_change(dev, dev->mtu);
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index b40c35d00..7f11aa556 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -7,7 +7,7 @@
*
* Adapted from linux/net/ipv4/af_inet.c
*
- * $Id: af_inet6.c,v 1.39 1998/10/03 09:38:23 davem Exp $
+ * $Id: af_inet6.c,v 1.42 1999/01/19 08:20:06 davem Exp $
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -35,6 +35,7 @@
#include <linux/proc_fs.h>
#include <linux/stat.h>
#include <linux/init.h>
+#include <linux/version.h>
#include <linux/inet.h>
#include <linux/netdevice.h>
@@ -477,7 +478,7 @@ int ipv6_unload(void)
{
if (!unloadable) return 1;
/* We keep internally 3 raw sockets */
- return __this_module.usecount - 3;
+ return atomic_read(&(__this_module.uc.usecount)) - 3;
}
#endif
@@ -502,7 +503,7 @@ __initfunc(void inet6_proto_init(struct net_proto *pro))
__this_module.can_unload = &ipv6_unload;
#endif
- printk(KERN_INFO "IPv6 v0.2 for NET3.037\n");
+ printk(KERN_INFO "IPv6 v0.8 for NET4.0\n");
if (sizeof(struct inet6_skb_parm) > sizeof(dummy_skb->cb))
{
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
index b6c855a59..c21e48d80 100644
--- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c
@@ -144,8 +144,9 @@ static u8 *ndisc_fill_option(u8 *opt, int type, void *data, int data_len)
opt[1] = space>>3;
memcpy(opt+2, data, data_len);
data_len += 2;
+ opt += data_len;
if ((space -= data_len) > 0)
- memset(opt + data_len, 0, space);
+ memset(opt, 0, space);
return opt + space;
}