diff options
| -rw-r--r-- | drivers/leds/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/net/hamradio/dmascc.c | 3 | ||||
| -rw-r--r-- | drivers/net/wireless/iwlwifi/Kconfig | 8 | ||||
| -rw-r--r-- | drivers/net/wireless/iwlwifi/Makefile | 2 | ||||
| -rw-r--r-- | drivers/net/wireless/rt2x00/Kconfig | 15 | ||||
| -rw-r--r-- | drivers/pnp/pnpacpi/rsparser.c | 10 | ||||
| -rw-r--r-- | include/net/xfrm.h | 3 | ||||
| -rw-r--r-- | kernel/time.c | 1 | ||||
| -rw-r--r-- | net/core/net-sysfs.c | 2 | ||||
| -rw-r--r-- | net/dccp/probe.c | 17 | ||||
| -rw-r--r-- | net/ipv4/icmp.c | 10 | ||||
| -rw-r--r-- | net/ipv4/ip_options.c | 12 | ||||
| -rw-r--r-- | net/ipv4/tcp.c | 2 | ||||
| -rw-r--r-- | net/ipv4/tcp_input.c | 2 | ||||
| -rw-r--r-- | net/ipv6/addrconf.c | 7 | ||||
| -rw-r--r-- | net/ipv6/ip6_fib.c | 2 | ||||
| -rw-r--r-- | net/ipv6/route.c | 5 | ||||
| -rw-r--r-- | net/key/af_key.c | 2 | ||||
| -rw-r--r-- | net/rose/rose_route.c | 2 | ||||
| -rw-r--r-- | net/socket.c | 3 | ||||
| -rw-r--r-- | net/xfrm/xfrm_policy.c | 2 | ||||
| -rw-r--r-- | net/xfrm/xfrm_user.c | 2 |
22 files changed, 55 insertions, 58 deletions
diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig index a3a6199639f9..eb97c4113d78 100644 --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | menuconfig NEW_LEDS | 1 | menuconfig NEW_LEDS |
| 2 | bool "LED Support" | 2 | bool "LED Support" |
| 3 | depends on HAS_IOMEM | ||
| 4 | help | 3 | help |
| 5 | Say Y to enable Linux LED support. This allows control of supported | 4 | Say Y to enable Linux LED support. This allows control of supported |
| 6 | LEDs from both userspace and optionally, by kernel events (triggers). | 5 | LEDs from both userspace and optionally, by kernel events (triggers). |
diff --git a/drivers/net/hamradio/dmascc.c b/drivers/net/hamradio/dmascc.c index e04bf9926441..0b94833e23f7 100644 --- a/drivers/net/hamradio/dmascc.c +++ b/drivers/net/hamradio/dmascc.c | |||
| @@ -1083,15 +1083,12 @@ static void start_timer(struct scc_priv *priv, int t, int r15) | |||
| 1083 | if (t == 0) { | 1083 | if (t == 0) { |
| 1084 | tm_isr(priv); | 1084 | tm_isr(priv); |
| 1085 | } else if (t > 0) { | 1085 | } else if (t > 0) { |
| 1086 | save_flags(flags); | ||
| 1087 | cli(); | ||
| 1088 | outb(t & 0xFF, priv->tmr_cnt); | 1086 | outb(t & 0xFF, priv->tmr_cnt); |
| 1089 | outb((t >> 8) & 0xFF, priv->tmr_cnt); | 1087 | outb((t >> 8) & 0xFF, priv->tmr_cnt); |
| 1090 | if (priv->type != TYPE_TWIN) { | 1088 | if (priv->type != TYPE_TWIN) { |
| 1091 | write_scc(priv, R15, r15 | CTSIE); | 1089 | write_scc(priv, R15, r15 | CTSIE); |
| 1092 | priv->rr0 |= CTS; | 1090 | priv->rr0 |= CTS; |
| 1093 | } | 1091 | } |
| 1094 | restore_flags(flags); | ||
| 1095 | } | 1092 | } |
| 1096 | } | 1093 | } |
| 1097 | 1094 | ||
diff --git a/drivers/net/wireless/iwlwifi/Kconfig b/drivers/net/wireless/iwlwifi/Kconfig index f844b738d34e..c4e631d14bfe 100644 --- a/drivers/net/wireless/iwlwifi/Kconfig +++ b/drivers/net/wireless/iwlwifi/Kconfig | |||
| @@ -49,7 +49,9 @@ config IWL4965_HT | |||
| 49 | 49 | ||
| 50 | config IWL4965_LEDS | 50 | config IWL4965_LEDS |
| 51 | bool "Enable LEDS features in iwl4965 driver" | 51 | bool "Enable LEDS features in iwl4965 driver" |
| 52 | depends on IWL4965 && MAC80211_LEDS && LEDS_CLASS | 52 | depends on IWL4965 |
| 53 | select MAC80211_LEDS | ||
| 54 | select LEDS_CLASS | ||
| 53 | select IWLWIFI_LEDS | 55 | select IWLWIFI_LEDS |
| 54 | ---help--- | 56 | ---help--- |
| 55 | This option enables LEDS for the iwlwifi drivers | 57 | This option enables LEDS for the iwlwifi drivers |
| @@ -134,7 +136,9 @@ config IWL3945_SPECTRUM_MEASUREMENT | |||
| 134 | 136 | ||
| 135 | config IWL3945_LEDS | 137 | config IWL3945_LEDS |
| 136 | bool "Enable LEDS features in iwl3945 driver" | 138 | bool "Enable LEDS features in iwl3945 driver" |
| 137 | depends on IWL3945 && MAC80211_LEDS && LEDS_CLASS | 139 | depends on IWL3945 |
| 140 | select MAC80211_LEDS | ||
| 141 | select LEDS_CLASS | ||
| 138 | ---help--- | 142 | ---help--- |
| 139 | This option enables LEDS for the iwl3945 driver. | 143 | This option enables LEDS for the iwl3945 driver. |
| 140 | 144 | ||
diff --git a/drivers/net/wireless/iwlwifi/Makefile b/drivers/net/wireless/iwlwifi/Makefile index 4f3e88b12e3a..ec6187b75c3b 100644 --- a/drivers/net/wireless/iwlwifi/Makefile +++ b/drivers/net/wireless/iwlwifi/Makefile | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | obj-$(CONFIG_IWLCORE) := iwlcore.o | 1 | obj-$(CONFIG_IWLCORE) += iwlcore.o |
| 2 | iwlcore-objs := iwl-core.o iwl-eeprom.o iwl-hcmd.o | 2 | iwlcore-objs := iwl-core.o iwl-eeprom.o iwl-hcmd.o |
| 3 | iwlcore-$(CONFIG_IWLWIFI_DEBUGFS) += iwl-debugfs.o | 3 | iwlcore-$(CONFIG_IWLWIFI_DEBUGFS) += iwl-debugfs.o |
| 4 | iwlcore-$(CONFIG_IWLWIFI_LEDS) += iwl-led.o | 4 | iwlcore-$(CONFIG_IWLWIFI_LEDS) += iwl-led.o |
diff --git a/drivers/net/wireless/rt2x00/Kconfig b/drivers/net/wireless/rt2x00/Kconfig index a1e3938cba9b..ab1029e79884 100644 --- a/drivers/net/wireless/rt2x00/Kconfig +++ b/drivers/net/wireless/rt2x00/Kconfig | |||
| @@ -60,7 +60,8 @@ config RT2400PCI_RFKILL | |||
| 60 | 60 | ||
| 61 | config RT2400PCI_LEDS | 61 | config RT2400PCI_LEDS |
| 62 | bool "RT2400 leds support" | 62 | bool "RT2400 leds support" |
| 63 | depends on RT2400PCI && LEDS_CLASS | 63 | depends on RT2400PCI |
| 64 | select LEDS_CLASS | ||
| 64 | select RT2X00_LIB_LEDS | 65 | select RT2X00_LIB_LEDS |
| 65 | ---help--- | 66 | ---help--- |
| 66 | This adds support for led triggers provided my mac80211. | 67 | This adds support for led triggers provided my mac80211. |
| @@ -86,7 +87,8 @@ config RT2500PCI_RFKILL | |||
| 86 | 87 | ||
| 87 | config RT2500PCI_LEDS | 88 | config RT2500PCI_LEDS |
| 88 | bool "RT2500 leds support" | 89 | bool "RT2500 leds support" |
| 89 | depends on RT2500PCI && LEDS_CLASS | 90 | depends on RT2500PCI |
| 91 | select LEDS_CLASS | ||
| 90 | select RT2X00_LIB_LEDS | 92 | select RT2X00_LIB_LEDS |
| 91 | ---help--- | 93 | ---help--- |
| 92 | This adds support for led triggers provided my mac80211. | 94 | This adds support for led triggers provided my mac80211. |
| @@ -114,7 +116,8 @@ config RT61PCI_RFKILL | |||
| 114 | 116 | ||
| 115 | config RT61PCI_LEDS | 117 | config RT61PCI_LEDS |
| 116 | bool "RT61 leds support" | 118 | bool "RT61 leds support" |
| 117 | depends on RT61PCI && LEDS_CLASS | 119 | depends on RT61PCI |
| 120 | select LEDS_CLASS | ||
| 118 | select RT2X00_LIB_LEDS | 121 | select RT2X00_LIB_LEDS |
| 119 | ---help--- | 122 | ---help--- |
| 120 | This adds support for led triggers provided my mac80211. | 123 | This adds support for led triggers provided my mac80211. |
| @@ -130,7 +133,8 @@ config RT2500USB | |||
| 130 | 133 | ||
| 131 | config RT2500USB_LEDS | 134 | config RT2500USB_LEDS |
| 132 | bool "RT2500 leds support" | 135 | bool "RT2500 leds support" |
| 133 | depends on RT2500USB && LEDS_CLASS | 136 | depends on RT2500USB |
| 137 | select LEDS_CLASS | ||
| 134 | select RT2X00_LIB_LEDS | 138 | select RT2X00_LIB_LEDS |
| 135 | ---help--- | 139 | ---help--- |
| 136 | This adds support for led triggers provided my mac80211. | 140 | This adds support for led triggers provided my mac80211. |
| @@ -148,7 +152,8 @@ config RT73USB | |||
| 148 | 152 | ||
| 149 | config RT73USB_LEDS | 153 | config RT73USB_LEDS |
| 150 | bool "RT73 leds support" | 154 | bool "RT73 leds support" |
| 151 | depends on RT73USB && LEDS_CLASS | 155 | depends on RT73USB |
| 156 | select LEDS_CLASS | ||
| 152 | select RT2X00_LIB_LEDS | 157 | select RT2X00_LIB_LEDS |
| 153 | ---help--- | 158 | ---help--- |
| 154 | This adds support for led triggers provided my mac80211. | 159 | This adds support for led triggers provided my mac80211. |
diff --git a/drivers/pnp/pnpacpi/rsparser.c b/drivers/pnp/pnpacpi/rsparser.c index 2dcd1960aca8..98cbc9f18eed 100644 --- a/drivers/pnp/pnpacpi/rsparser.c +++ b/drivers/pnp/pnpacpi/rsparser.c | |||
| @@ -84,10 +84,12 @@ static void pnpacpi_parse_allocated_irqresource(struct pnp_resource_table *res, | |||
| 84 | while (!(res->irq_resource[i].flags & IORESOURCE_UNSET) && | 84 | while (!(res->irq_resource[i].flags & IORESOURCE_UNSET) && |
| 85 | i < PNP_MAX_IRQ) | 85 | i < PNP_MAX_IRQ) |
| 86 | i++; | 86 | i++; |
| 87 | if (i >= PNP_MAX_IRQ && !warned) { | 87 | if (i >= PNP_MAX_IRQ) { |
| 88 | printk(KERN_WARNING "pnpacpi: exceeded the max number of IRQ " | 88 | if (!warned) { |
| 89 | "resources: %d \n", PNP_MAX_IRQ); | 89 | printk(KERN_WARNING "pnpacpi: exceeded the max number" |
| 90 | warned = 1; | 90 | " of IRQ resources: %d\n", PNP_MAX_IRQ); |
| 91 | warned = 1; | ||
| 92 | } | ||
| 91 | return; | 93 | return; |
| 92 | } | 94 | } |
| 93 | /* | 95 | /* |
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index b56b6a10fe5e..baa9f372cfd1 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
| @@ -436,6 +436,9 @@ struct xfrm_tmpl | |||
| 436 | /* May skip this transfomration if no SA is found */ | 436 | /* May skip this transfomration if no SA is found */ |
| 437 | __u8 optional; | 437 | __u8 optional; |
| 438 | 438 | ||
| 439 | /* Skip aalgos/ealgos/calgos checks. */ | ||
| 440 | __u8 allalgs; | ||
| 441 | |||
| 439 | /* Bit mask of algos allowed for acquisition */ | 442 | /* Bit mask of algos allowed for acquisition */ |
| 440 | __u32 aalgos; | 443 | __u32 aalgos; |
| 441 | __u32 ealgos; | 444 | __u32 ealgos; |
diff --git a/kernel/time.c b/kernel/time.c index a5ec013b6c80..35d373a98782 100644 --- a/kernel/time.c +++ b/kernel/time.c | |||
| @@ -379,6 +379,7 @@ void set_normalized_timespec(struct timespec *ts, time_t sec, long nsec) | |||
| 379 | ts->tv_sec = sec; | 379 | ts->tv_sec = sec; |
| 380 | ts->tv_nsec = nsec; | 380 | ts->tv_nsec = nsec; |
| 381 | } | 381 | } |
| 382 | EXPORT_SYMBOL(set_normalized_timespec); | ||
| 382 | 383 | ||
| 383 | /** | 384 | /** |
| 384 | * ns_to_timespec - Convert nanoseconds to timespec | 385 | * ns_to_timespec - Convert nanoseconds to timespec |
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c index 7635d3f72723..4e7b847347f7 100644 --- a/net/core/net-sysfs.c +++ b/net/core/net-sysfs.c | |||
| @@ -87,6 +87,7 @@ static ssize_t netdev_store(struct device *dev, struct device_attribute *attr, | |||
| 87 | return ret; | 87 | return ret; |
| 88 | } | 88 | } |
| 89 | 89 | ||
| 90 | NETDEVICE_SHOW(dev_id, fmt_hex); | ||
| 90 | NETDEVICE_SHOW(addr_len, fmt_dec); | 91 | NETDEVICE_SHOW(addr_len, fmt_dec); |
| 91 | NETDEVICE_SHOW(iflink, fmt_dec); | 92 | NETDEVICE_SHOW(iflink, fmt_dec); |
| 92 | NETDEVICE_SHOW(ifindex, fmt_dec); | 93 | NETDEVICE_SHOW(ifindex, fmt_dec); |
| @@ -210,6 +211,7 @@ static ssize_t store_tx_queue_len(struct device *dev, | |||
| 210 | 211 | ||
| 211 | static struct device_attribute net_class_attributes[] = { | 212 | static struct device_attribute net_class_attributes[] = { |
| 212 | __ATTR(addr_len, S_IRUGO, show_addr_len, NULL), | 213 | __ATTR(addr_len, S_IRUGO, show_addr_len, NULL), |
| 214 | __ATTR(dev_id, S_IRUGO, show_dev_id, NULL), | ||
| 213 | __ATTR(iflink, S_IRUGO, show_iflink, NULL), | 215 | __ATTR(iflink, S_IRUGO, show_iflink, NULL), |
| 214 | __ATTR(ifindex, S_IRUGO, show_ifindex, NULL), | 216 | __ATTR(ifindex, S_IRUGO, show_ifindex, NULL), |
| 215 | __ATTR(features, S_IRUGO, show_features, NULL), | 217 | __ATTR(features, S_IRUGO, show_features, NULL), |
diff --git a/net/dccp/probe.c b/net/dccp/probe.c index 7053bb827bc8..6e1df62bd7c9 100644 --- a/net/dccp/probe.c +++ b/net/dccp/probe.c | |||
| @@ -46,29 +46,24 @@ struct { | |||
| 46 | struct kfifo *fifo; | 46 | struct kfifo *fifo; |
| 47 | spinlock_t lock; | 47 | spinlock_t lock; |
| 48 | wait_queue_head_t wait; | 48 | wait_queue_head_t wait; |
| 49 | struct timeval tstart; | 49 | struct timespec tstart; |
| 50 | } dccpw; | 50 | } dccpw; |
| 51 | 51 | ||
| 52 | static void printl(const char *fmt, ...) | 52 | static void printl(const char *fmt, ...) |
| 53 | { | 53 | { |
| 54 | va_list args; | 54 | va_list args; |
| 55 | int len; | 55 | int len; |
| 56 | struct timeval now; | 56 | struct timespec now; |
| 57 | char tbuf[256]; | 57 | char tbuf[256]; |
| 58 | 58 | ||
| 59 | va_start(args, fmt); | 59 | va_start(args, fmt); |
| 60 | do_gettimeofday(&now); | 60 | getnstimeofday(&now); |
| 61 | 61 | ||
| 62 | now.tv_sec -= dccpw.tstart.tv_sec; | 62 | now = timespec_sub(now, dccpw.tstart); |
| 63 | now.tv_usec -= dccpw.tstart.tv_usec; | ||
| 64 | if (now.tv_usec < 0) { | ||
| 65 | --now.tv_sec; | ||
| 66 | now.tv_usec += 1000000; | ||
| 67 | } | ||
| 68 | 63 | ||
| 69 | len = sprintf(tbuf, "%lu.%06lu ", | 64 | len = sprintf(tbuf, "%lu.%06lu ", |
| 70 | (unsigned long) now.tv_sec, | 65 | (unsigned long) now.tv_sec, |
| 71 | (unsigned long) now.tv_usec); | 66 | (unsigned long) now.tv_nsec / NSEC_PER_USEC); |
| 72 | len += vscnprintf(tbuf+len, sizeof(tbuf)-len, fmt, args); | 67 | len += vscnprintf(tbuf+len, sizeof(tbuf)-len, fmt, args); |
| 73 | va_end(args); | 68 | va_end(args); |
| 74 | 69 | ||
| @@ -119,7 +114,7 @@ static struct jprobe dccp_send_probe = { | |||
| 119 | static int dccpprobe_open(struct inode *inode, struct file *file) | 114 | static int dccpprobe_open(struct inode *inode, struct file *file) |
| 120 | { | 115 | { |
| 121 | kfifo_reset(dccpw.fifo); | 116 | kfifo_reset(dccpw.fifo); |
| 122 | do_gettimeofday(&dccpw.tstart); | 117 | getnstimeofday(&dccpw.tstart); |
| 123 | return 0; | 118 | return 0; |
| 124 | } | 119 | } |
| 125 | 120 | ||
diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index f064031f2031..c67d00e8c600 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c | |||
| @@ -847,7 +847,7 @@ static void icmp_echo(struct sk_buff *skb) | |||
| 847 | */ | 847 | */ |
| 848 | static void icmp_timestamp(struct sk_buff *skb) | 848 | static void icmp_timestamp(struct sk_buff *skb) |
| 849 | { | 849 | { |
| 850 | struct timeval tv; | 850 | struct timespec tv; |
| 851 | struct icmp_bxm icmp_param; | 851 | struct icmp_bxm icmp_param; |
| 852 | /* | 852 | /* |
| 853 | * Too short. | 853 | * Too short. |
| @@ -858,9 +858,9 @@ static void icmp_timestamp(struct sk_buff *skb) | |||
| 858 | /* | 858 | /* |
| 859 | * Fill in the current time as ms since midnight UT: | 859 | * Fill in the current time as ms since midnight UT: |
| 860 | */ | 860 | */ |
| 861 | do_gettimeofday(&tv); | 861 | getnstimeofday(&tv); |
| 862 | icmp_param.data.times[1] = htonl((tv.tv_sec % 86400) * 1000 + | 862 | icmp_param.data.times[1] = htonl((tv.tv_sec % 86400) * MSEC_PER_SEC + |
| 863 | tv.tv_usec / 1000); | 863 | tv.tv_nsec / NSEC_PER_MSEC); |
| 864 | icmp_param.data.times[2] = icmp_param.data.times[1]; | 864 | icmp_param.data.times[2] = icmp_param.data.times[1]; |
| 865 | if (skb_copy_bits(skb, 0, &icmp_param.data.times[0], 4)) | 865 | if (skb_copy_bits(skb, 0, &icmp_param.data.times[0], 4)) |
| 866 | BUG(); | 866 | BUG(); |
| @@ -1144,7 +1144,7 @@ static void __net_exit icmp_sk_exit(struct net *net) | |||
| 1144 | net->ipv4.icmp_sk = NULL; | 1144 | net->ipv4.icmp_sk = NULL; |
| 1145 | } | 1145 | } |
| 1146 | 1146 | ||
| 1147 | int __net_init icmp_sk_init(struct net *net) | 1147 | static int __net_init icmp_sk_init(struct net *net) |
| 1148 | { | 1148 | { |
| 1149 | int i, err; | 1149 | int i, err; |
| 1150 | 1150 | ||
diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c index d107543d3f81..33126ad2cfdc 100644 --- a/net/ipv4/ip_options.c +++ b/net/ipv4/ip_options.c | |||
| @@ -55,10 +55,10 @@ void ip_options_build(struct sk_buff * skb, struct ip_options * opt, | |||
| 55 | if (opt->ts_needaddr) | 55 | if (opt->ts_needaddr) |
| 56 | ip_rt_get_source(iph+opt->ts+iph[opt->ts+2]-9, rt); | 56 | ip_rt_get_source(iph+opt->ts+iph[opt->ts+2]-9, rt); |
| 57 | if (opt->ts_needtime) { | 57 | if (opt->ts_needtime) { |
| 58 | struct timeval tv; | 58 | struct timespec tv; |
| 59 | __be32 midtime; | 59 | __be32 midtime; |
| 60 | do_gettimeofday(&tv); | 60 | getnstimeofday(&tv); |
| 61 | midtime = htonl((tv.tv_sec % 86400) * 1000 + tv.tv_usec / 1000); | 61 | midtime = htonl((tv.tv_sec % 86400) * MSEC_PER_SEC + tv.tv_nsec / NSEC_PER_MSEC); |
| 62 | memcpy(iph+opt->ts+iph[opt->ts+2]-5, &midtime, 4); | 62 | memcpy(iph+opt->ts+iph[opt->ts+2]-5, &midtime, 4); |
| 63 | } | 63 | } |
| 64 | return; | 64 | return; |
| @@ -406,10 +406,10 @@ int ip_options_compile(struct net *net, | |||
| 406 | break; | 406 | break; |
| 407 | } | 407 | } |
| 408 | if (timeptr) { | 408 | if (timeptr) { |
| 409 | struct timeval tv; | 409 | struct timespec tv; |
| 410 | __be32 midtime; | 410 | __be32 midtime; |
| 411 | do_gettimeofday(&tv); | 411 | getnstimeofday(&tv); |
| 412 | midtime = htonl((tv.tv_sec % 86400) * 1000 + tv.tv_usec / 1000); | 412 | midtime = htonl((tv.tv_sec % 86400) * MSEC_PER_SEC + tv.tv_nsec / NSEC_PER_MSEC); |
| 413 | memcpy(timeptr, &midtime, sizeof(__be32)); | 413 | memcpy(timeptr, &midtime, sizeof(__be32)); |
| 414 | opt->is_changed = 1; | 414 | opt->is_changed = 1; |
| 415 | } | 415 | } |
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 58ac838bf460..f88653138621 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
| @@ -1722,7 +1722,7 @@ static int tcp_close_state(struct sock *sk) | |||
| 1722 | 1722 | ||
| 1723 | /* | 1723 | /* |
| 1724 | * Shutdown the sending side of a connection. Much like close except | 1724 | * Shutdown the sending side of a connection. Much like close except |
| 1725 | * that we don't receive shut down or set_sock_flag(sk, SOCK_DEAD). | 1725 | * that we don't receive shut down or sock_set_flag(sk, SOCK_DEAD). |
| 1726 | */ | 1726 | */ |
| 1727 | 1727 | ||
| 1728 | void tcp_shutdown(struct sock *sk, int how) | 1728 | void tcp_shutdown(struct sock *sk, int how) |
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index cdc051bfdb4d..ac9b8482f702 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
| @@ -2298,7 +2298,7 @@ static inline int tcp_packet_delayed(struct tcp_sock *tp) | |||
| 2298 | { | 2298 | { |
| 2299 | return !tp->retrans_stamp || | 2299 | return !tp->retrans_stamp || |
| 2300 | (tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr && | 2300 | (tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr && |
| 2301 | (__s32)(tp->rx_opt.rcv_tsecr - tp->retrans_stamp) < 0); | 2301 | before(tp->rx_opt.rcv_tsecr, tp->retrans_stamp)); |
| 2302 | } | 2302 | } |
| 2303 | 2303 | ||
| 2304 | /* Undo procedures. */ | 2304 | /* Undo procedures. */ |
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 8a0fd4007bdb..e591e09e5e4e 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
| @@ -4338,12 +4338,6 @@ int unregister_inet6addr_notifier(struct notifier_block *nb) | |||
| 4338 | 4338 | ||
| 4339 | EXPORT_SYMBOL(unregister_inet6addr_notifier); | 4339 | EXPORT_SYMBOL(unregister_inet6addr_notifier); |
| 4340 | 4340 | ||
| 4341 | |||
| 4342 | static int addrconf_net_init(struct net *net) | ||
| 4343 | { | ||
| 4344 | return 0; | ||
| 4345 | } | ||
| 4346 | |||
| 4347 | static void addrconf_net_exit(struct net *net) | 4341 | static void addrconf_net_exit(struct net *net) |
| 4348 | { | 4342 | { |
| 4349 | struct net_device *dev; | 4343 | struct net_device *dev; |
| @@ -4360,7 +4354,6 @@ static void addrconf_net_exit(struct net *net) | |||
| 4360 | } | 4354 | } |
| 4361 | 4355 | ||
| 4362 | static struct pernet_operations addrconf_net_ops = { | 4356 | static struct pernet_operations addrconf_net_ops = { |
| 4363 | .init = addrconf_net_init, | ||
| 4364 | .exit = addrconf_net_exit, | 4357 | .exit = addrconf_net_exit, |
| 4365 | }; | 4358 | }; |
| 4366 | 4359 | ||
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c index 50f3f8f8a59b..1ee4fa17c129 100644 --- a/net/ipv6/ip6_fib.c +++ b/net/ipv6/ip6_fib.c | |||
| @@ -1543,7 +1543,7 @@ out_timer: | |||
| 1543 | static void fib6_net_exit(struct net *net) | 1543 | static void fib6_net_exit(struct net *net) |
| 1544 | { | 1544 | { |
| 1545 | rt6_ifdown(net, NULL); | 1545 | rt6_ifdown(net, NULL); |
| 1546 | del_timer(net->ipv6.ip6_fib_timer); | 1546 | del_timer_sync(net->ipv6.ip6_fib_timer); |
| 1547 | kfree(net->ipv6.ip6_fib_timer); | 1547 | kfree(net->ipv6.ip6_fib_timer); |
| 1548 | #ifdef CONFIG_IPV6_MULTIPLE_TABLES | 1548 | #ifdef CONFIG_IPV6_MULTIPLE_TABLES |
| 1549 | kfree(net->ipv6.fib6_local_tbl); | 1549 | kfree(net->ipv6.fib6_local_tbl); |
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 210a079cfc6f..a493ad9b8914 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
| @@ -150,7 +150,7 @@ static struct rt6_info ip6_null_entry_template = { | |||
| 150 | static int ip6_pkt_prohibit(struct sk_buff *skb); | 150 | static int ip6_pkt_prohibit(struct sk_buff *skb); |
| 151 | static int ip6_pkt_prohibit_out(struct sk_buff *skb); | 151 | static int ip6_pkt_prohibit_out(struct sk_buff *skb); |
| 152 | 152 | ||
| 153 | struct rt6_info ip6_prohibit_entry_template = { | 153 | static struct rt6_info ip6_prohibit_entry_template = { |
| 154 | .u = { | 154 | .u = { |
| 155 | .dst = { | 155 | .dst = { |
| 156 | .__refcnt = ATOMIC_INIT(1), | 156 | .__refcnt = ATOMIC_INIT(1), |
| @@ -2614,9 +2614,8 @@ struct ctl_table *ipv6_route_sysctl_init(struct net *net) | |||
| 2614 | 2614 | ||
| 2615 | static int ip6_route_net_init(struct net *net) | 2615 | static int ip6_route_net_init(struct net *net) |
| 2616 | { | 2616 | { |
| 2617 | int ret = 0; | 2617 | int ret = -ENOMEM; |
| 2618 | 2618 | ||
| 2619 | ret = -ENOMEM; | ||
| 2620 | net->ipv6.ip6_dst_ops = kmemdup(&ip6_dst_ops_template, | 2619 | net->ipv6.ip6_dst_ops = kmemdup(&ip6_dst_ops_template, |
| 2621 | sizeof(*net->ipv6.ip6_dst_ops), | 2620 | sizeof(*net->ipv6.ip6_dst_ops), |
| 2622 | GFP_KERNEL); | 2621 | GFP_KERNEL); |
diff --git a/net/key/af_key.c b/net/key/af_key.c index 1fb0fe42a72e..81a8e5297ad1 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c | |||
| @@ -1907,7 +1907,7 @@ parse_ipsecrequest(struct xfrm_policy *xp, struct sadb_x_ipsecrequest *rq) | |||
| 1907 | t->encap_family = xp->family; | 1907 | t->encap_family = xp->family; |
| 1908 | 1908 | ||
| 1909 | /* No way to set this via kame pfkey */ | 1909 | /* No way to set this via kame pfkey */ |
| 1910 | t->aalgos = t->ealgos = t->calgos = ~0; | 1910 | t->allalgs = 1; |
| 1911 | xp->xfrm_nr++; | 1911 | xp->xfrm_nr++; |
| 1912 | return 0; | 1912 | return 0; |
| 1913 | } | 1913 | } |
diff --git a/net/rose/rose_route.c b/net/rose/rose_route.c index fb9359fb2358..5053a53ba24f 100644 --- a/net/rose/rose_route.c +++ b/net/rose/rose_route.c | |||
| @@ -857,7 +857,6 @@ int rose_route_frame(struct sk_buff *skb, ax25_cb *ax25) | |||
| 857 | src_addr = (rose_address *)(skb->data + 9); | 857 | src_addr = (rose_address *)(skb->data + 9); |
| 858 | dest_addr = (rose_address *)(skb->data + 4); | 858 | dest_addr = (rose_address *)(skb->data + 4); |
| 859 | 859 | ||
| 860 | spin_lock_bh(&rose_node_list_lock); | ||
| 861 | spin_lock_bh(&rose_neigh_list_lock); | 860 | spin_lock_bh(&rose_neigh_list_lock); |
| 862 | spin_lock_bh(&rose_route_list_lock); | 861 | spin_lock_bh(&rose_route_list_lock); |
| 863 | 862 | ||
| @@ -1060,7 +1059,6 @@ int rose_route_frame(struct sk_buff *skb, ax25_cb *ax25) | |||
| 1060 | out: | 1059 | out: |
| 1061 | spin_unlock_bh(&rose_route_list_lock); | 1060 | spin_unlock_bh(&rose_route_list_lock); |
| 1062 | spin_unlock_bh(&rose_neigh_list_lock); | 1061 | spin_unlock_bh(&rose_neigh_list_lock); |
| 1063 | spin_unlock_bh(&rose_node_list_lock); | ||
| 1064 | 1062 | ||
| 1065 | return res; | 1063 | return res; |
| 1066 | } | 1064 | } |
diff --git a/net/socket.c b/net/socket.c index 9b5c917f8a6b..66c4a8cf6db9 100644 --- a/net/socket.c +++ b/net/socket.c | |||
| @@ -2327,9 +2327,6 @@ int kernel_sock_shutdown(struct socket *sock, enum sock_shutdown_cmd how) | |||
| 2327 | return sock->ops->shutdown(sock, how); | 2327 | return sock->ops->shutdown(sock, how); |
| 2328 | } | 2328 | } |
| 2329 | 2329 | ||
| 2330 | /* ABI emulation layers need these two */ | ||
| 2331 | EXPORT_SYMBOL(move_addr_to_kernel); | ||
| 2332 | EXPORT_SYMBOL(move_addr_to_user); | ||
| 2333 | EXPORT_SYMBOL(sock_create); | 2330 | EXPORT_SYMBOL(sock_create); |
| 2334 | EXPORT_SYMBOL(sock_create_kern); | 2331 | EXPORT_SYMBOL(sock_create_kern); |
| 2335 | EXPORT_SYMBOL(sock_create_lite); | 2332 | EXPORT_SYMBOL(sock_create_lite); |
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index ab4d0e598a2c..e0c0390613c0 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c | |||
| @@ -1819,7 +1819,7 @@ xfrm_state_ok(struct xfrm_tmpl *tmpl, struct xfrm_state *x, | |||
| 1819 | (x->id.spi == tmpl->id.spi || !tmpl->id.spi) && | 1819 | (x->id.spi == tmpl->id.spi || !tmpl->id.spi) && |
| 1820 | (x->props.reqid == tmpl->reqid || !tmpl->reqid) && | 1820 | (x->props.reqid == tmpl->reqid || !tmpl->reqid) && |
| 1821 | x->props.mode == tmpl->mode && | 1821 | x->props.mode == tmpl->mode && |
| 1822 | ((tmpl->aalgos & (1<<x->props.aalgo)) || | 1822 | (tmpl->allalgs || (tmpl->aalgos & (1<<x->props.aalgo)) || |
| 1823 | !(xfrm_id_proto_match(tmpl->id.proto, IPSEC_PROTO_ANY))) && | 1823 | !(xfrm_id_proto_match(tmpl->id.proto, IPSEC_PROTO_ANY))) && |
| 1824 | !(x->props.mode != XFRM_MODE_TRANSPORT && | 1824 | !(x->props.mode != XFRM_MODE_TRANSPORT && |
| 1825 | xfrm_state_addr_cmp(tmpl, x, family)); | 1825 | xfrm_state_addr_cmp(tmpl, x, family)); |
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index 1810f5645bb5..22a30ae582a2 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c | |||
| @@ -981,6 +981,8 @@ static void copy_templates(struct xfrm_policy *xp, struct xfrm_user_tmpl *ut, | |||
| 981 | t->aalgos = ut->aalgos; | 981 | t->aalgos = ut->aalgos; |
| 982 | t->ealgos = ut->ealgos; | 982 | t->ealgos = ut->ealgos; |
| 983 | t->calgos = ut->calgos; | 983 | t->calgos = ut->calgos; |
| 984 | /* If all masks are ~0, then we allow all algorithms. */ | ||
| 985 | t->allalgs = !~(t->aalgos & t->ealgos & t->calgos); | ||
| 984 | t->encap_family = ut->family; | 986 | t->encap_family = ut->family; |
| 985 | } | 987 | } |
| 986 | } | 988 | } |
