diff options
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/addrconf.c | 4 | ||||
-rw-r--r-- | net/ipv6/af_inet6.c | 7 | ||||
-rw-r--r-- | net/ipv6/ndisc.c | 3 |
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; } |