diff options
author | David S. Miller <davem@davemloft.net> | 2008-05-26 02:26:10 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-05-26 02:26:10 -0400 |
commit | 43154d08d6bb5c69aa0d0e3448fb348b4cd84e91 (patch) | |
tree | 176edb26aad2d33e8be36530b66b19d0603c4b1d /include | |
parent | 03194379a77b02df3404ec4848a50c6784e9a8a5 (diff) | |
parent | 289c79a4bd350e8a25065102563ad1a183d1b402 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/cpmac.c
net/mac80211/mlme.c
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/Kbuild | 2 | ||||
-rw-r--r-- | include/linux/netdevice.h | 3 | ||||
-rw-r--r-- | include/linux/netfilter.h | 2 | ||||
-rw-r--r-- | include/linux/netfilter_arp/arp_tables.h | 2 | ||||
-rw-r--r-- | include/linux/netfilter_ipv4/ip_tables.h | 2 | ||||
-rw-r--r-- | include/linux/netfilter_ipv6/ip6_tables.h | 2 | ||||
-rw-r--r-- | include/linux/tcp.h | 2 | ||||
-rw-r--r-- | include/net/mac80211.h | 25 | ||||
-rw-r--r-- | include/net/ndisc.h | 4 | ||||
-rw-r--r-- | include/net/netlink.h | 11 |
10 files changed, 42 insertions, 13 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild index b7d81b2a9041..54a4cfb50ed0 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild | |||
@@ -92,7 +92,6 @@ header-y += if_slip.h | |||
92 | header-y += if_strip.h | 92 | header-y += if_strip.h |
93 | header-y += if_tun.h | 93 | header-y += if_tun.h |
94 | header-y += if_tunnel.h | 94 | header-y += if_tunnel.h |
95 | header-y += in6.h | ||
96 | header-y += in_route.h | 95 | header-y += in_route.h |
97 | header-y += ioctl.h | 96 | header-y += ioctl.h |
98 | header-y += ip6_tunnel.h | 97 | header-y += ip6_tunnel.h |
@@ -236,6 +235,7 @@ unifdef-y += if_vlan.h | |||
236 | unifdef-y += igmp.h | 235 | unifdef-y += igmp.h |
237 | unifdef-y += inet_diag.h | 236 | unifdef-y += inet_diag.h |
238 | unifdef-y += in.h | 237 | unifdef-y += in.h |
238 | unifdef-y += in6.h | ||
239 | unifdef-y += inotify.h | 239 | unifdef-y += inotify.h |
240 | unifdef-y += input.h | 240 | unifdef-y += input.h |
241 | unifdef-y += ip.h | 241 | unifdef-y += ip.h |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index b11e6e19e96c..f27fd2009334 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -745,6 +745,9 @@ struct net_device | |||
745 | /* rtnetlink link ops */ | 745 | /* rtnetlink link ops */ |
746 | const struct rtnl_link_ops *rtnl_link_ops; | 746 | const struct rtnl_link_ops *rtnl_link_ops; |
747 | 747 | ||
748 | /* VLAN feature mask */ | ||
749 | unsigned long vlan_features; | ||
750 | |||
748 | /* for setting kernel sock attribute on TCP connection setup */ | 751 | /* for setting kernel sock attribute on TCP connection setup */ |
749 | #define GSO_MAX_SIZE 65536 | 752 | #define GSO_MAX_SIZE 65536 |
750 | unsigned int gso_max_size; | 753 | unsigned int gso_max_size; |
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h index e4c66593b5c6..0c5eb7ed8b3f 100644 --- a/include/linux/netfilter.h +++ b/include/linux/netfilter.h | |||
@@ -3,7 +3,6 @@ | |||
3 | 3 | ||
4 | #ifdef __KERNEL__ | 4 | #ifdef __KERNEL__ |
5 | #include <linux/init.h> | 5 | #include <linux/init.h> |
6 | #include <linux/types.h> | ||
7 | #include <linux/skbuff.h> | 6 | #include <linux/skbuff.h> |
8 | #include <linux/net.h> | 7 | #include <linux/net.h> |
9 | #include <linux/netdevice.h> | 8 | #include <linux/netdevice.h> |
@@ -14,6 +13,7 @@ | |||
14 | #include <linux/list.h> | 13 | #include <linux/list.h> |
15 | #include <net/net_namespace.h> | 14 | #include <net/net_namespace.h> |
16 | #endif | 15 | #endif |
16 | #include <linux/types.h> | ||
17 | #include <linux/compiler.h> | 17 | #include <linux/compiler.h> |
18 | 18 | ||
19 | /* Responses from hook functions. */ | 19 | /* Responses from hook functions. */ |
diff --git a/include/linux/netfilter_arp/arp_tables.h b/include/linux/netfilter_arp/arp_tables.h index dd9c97f2d436..590ac3d6d5d6 100644 --- a/include/linux/netfilter_arp/arp_tables.h +++ b/include/linux/netfilter_arp/arp_tables.h | |||
@@ -11,11 +11,11 @@ | |||
11 | 11 | ||
12 | #ifdef __KERNEL__ | 12 | #ifdef __KERNEL__ |
13 | #include <linux/if.h> | 13 | #include <linux/if.h> |
14 | #include <linux/types.h> | ||
15 | #include <linux/in.h> | 14 | #include <linux/in.h> |
16 | #include <linux/if_arp.h> | 15 | #include <linux/if_arp.h> |
17 | #include <linux/skbuff.h> | 16 | #include <linux/skbuff.h> |
18 | #endif | 17 | #endif |
18 | #include <linux/types.h> | ||
19 | #include <linux/compiler.h> | 19 | #include <linux/compiler.h> |
20 | #include <linux/netfilter_arp.h> | 20 | #include <linux/netfilter_arp.h> |
21 | 21 | ||
diff --git a/include/linux/netfilter_ipv4/ip_tables.h b/include/linux/netfilter_ipv4/ip_tables.h index bfc889f90276..092bd50581a9 100644 --- a/include/linux/netfilter_ipv4/ip_tables.h +++ b/include/linux/netfilter_ipv4/ip_tables.h | |||
@@ -17,11 +17,11 @@ | |||
17 | 17 | ||
18 | #ifdef __KERNEL__ | 18 | #ifdef __KERNEL__ |
19 | #include <linux/if.h> | 19 | #include <linux/if.h> |
20 | #include <linux/types.h> | ||
21 | #include <linux/in.h> | 20 | #include <linux/in.h> |
22 | #include <linux/ip.h> | 21 | #include <linux/ip.h> |
23 | #include <linux/skbuff.h> | 22 | #include <linux/skbuff.h> |
24 | #endif | 23 | #endif |
24 | #include <linux/types.h> | ||
25 | #include <linux/compiler.h> | 25 | #include <linux/compiler.h> |
26 | #include <linux/netfilter_ipv4.h> | 26 | #include <linux/netfilter_ipv4.h> |
27 | 27 | ||
diff --git a/include/linux/netfilter_ipv6/ip6_tables.h b/include/linux/netfilter_ipv6/ip6_tables.h index f2507dcc5750..1089e33cf633 100644 --- a/include/linux/netfilter_ipv6/ip6_tables.h +++ b/include/linux/netfilter_ipv6/ip6_tables.h | |||
@@ -17,11 +17,11 @@ | |||
17 | 17 | ||
18 | #ifdef __KERNEL__ | 18 | #ifdef __KERNEL__ |
19 | #include <linux/if.h> | 19 | #include <linux/if.h> |
20 | #include <linux/types.h> | ||
21 | #include <linux/in6.h> | 20 | #include <linux/in6.h> |
22 | #include <linux/ipv6.h> | 21 | #include <linux/ipv6.h> |
23 | #include <linux/skbuff.h> | 22 | #include <linux/skbuff.h> |
24 | #endif | 23 | #endif |
24 | #include <linux/types.h> | ||
25 | #include <linux/compiler.h> | 25 | #include <linux/compiler.h> |
26 | #include <linux/netfilter_ipv6.h> | 26 | #include <linux/netfilter_ipv6.h> |
27 | 27 | ||
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index d96d9b122304..18e62e3d406f 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
@@ -355,7 +355,7 @@ struct tcp_sock { | |||
355 | u32 lost_retrans_low; /* Sent seq after any rxmit (lowest) */ | 355 | u32 lost_retrans_low; /* Sent seq after any rxmit (lowest) */ |
356 | 356 | ||
357 | u16 advmss; /* Advertised MSS */ | 357 | u16 advmss; /* Advertised MSS */ |
358 | u16 prior_ssthresh; /* ssthresh saved at recovery start */ | 358 | u32 prior_ssthresh; /* ssthresh saved at recovery start */ |
359 | u32 lost_out; /* Lost packets */ | 359 | u32 lost_out; /* Lost packets */ |
360 | u32 sacked_out; /* SACK'd packets */ | 360 | u32 sacked_out; /* SACK'd packets */ |
361 | u32 fackets_out; /* FACK'd packets */ | 361 | u32 fackets_out; /* FACK'd packets */ |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 909956c97c44..2f9853997992 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1602,13 +1602,16 @@ void ieee80211_wake_queues(struct ieee80211_hw *hw); | |||
1602 | void ieee80211_scan_completed(struct ieee80211_hw *hw); | 1602 | void ieee80211_scan_completed(struct ieee80211_hw *hw); |
1603 | 1603 | ||
1604 | /** | 1604 | /** |
1605 | * ieee80211_iterate_active_interfaces - iterate active interfaces | 1605 | * ieee80211_iterate_active_interfaces- iterate active interfaces |
1606 | * | 1606 | * |
1607 | * This function iterates over the interfaces associated with a given | 1607 | * This function iterates over the interfaces associated with a given |
1608 | * hardware that are currently active and calls the callback for them. | 1608 | * hardware that are currently active and calls the callback for them. |
1609 | * This function allows the iterator function to sleep, when the iterator | ||
1610 | * function is atomic @ieee80211_iterate_active_interfaces_atomic can | ||
1611 | * be used. | ||
1609 | * | 1612 | * |
1610 | * @hw: the hardware struct of which the interfaces should be iterated over | 1613 | * @hw: the hardware struct of which the interfaces should be iterated over |
1611 | * @iterator: the iterator function to call, cannot sleep | 1614 | * @iterator: the iterator function to call |
1612 | * @data: first argument of the iterator function | 1615 | * @data: first argument of the iterator function |
1613 | */ | 1616 | */ |
1614 | void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw, | 1617 | void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw, |
@@ -1617,6 +1620,24 @@ void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw, | |||
1617 | void *data); | 1620 | void *data); |
1618 | 1621 | ||
1619 | /** | 1622 | /** |
1623 | * ieee80211_iterate_active_interfaces_atomic - iterate active interfaces | ||
1624 | * | ||
1625 | * This function iterates over the interfaces associated with a given | ||
1626 | * hardware that are currently active and calls the callback for them. | ||
1627 | * This function requires the iterator callback function to be atomic, | ||
1628 | * if that is not desired, use @ieee80211_iterate_active_interfaces instead. | ||
1629 | * | ||
1630 | * @hw: the hardware struct of which the interfaces should be iterated over | ||
1631 | * @iterator: the iterator function to call, cannot sleep | ||
1632 | * @data: first argument of the iterator function | ||
1633 | */ | ||
1634 | void ieee80211_iterate_active_interfaces_atomic(struct ieee80211_hw *hw, | ||
1635 | void (*iterator)(void *data, | ||
1636 | u8 *mac, | ||
1637 | struct ieee80211_vif *vif), | ||
1638 | void *data); | ||
1639 | |||
1640 | /** | ||
1620 | * ieee80211_start_tx_ba_session - Start a tx Block Ack session. | 1641 | * ieee80211_start_tx_ba_session - Start a tx Block Ack session. |
1621 | * @hw: pointer as obtained from ieee80211_alloc_hw(). | 1642 | * @hw: pointer as obtained from ieee80211_alloc_hw(). |
1622 | * @ra: receiver address of the BA session recipient | 1643 | * @ra: receiver address of the BA session recipient |
diff --git a/include/net/ndisc.h b/include/net/ndisc.h index 9c451ff2f4f4..a01b7c4dc763 100644 --- a/include/net/ndisc.h +++ b/include/net/ndisc.h | |||
@@ -129,6 +129,10 @@ extern int ndisc_ifinfo_sysctl_change(struct ctl_table *ctl, | |||
129 | void __user *buffer, | 129 | void __user *buffer, |
130 | size_t *lenp, | 130 | size_t *lenp, |
131 | loff_t *ppos); | 131 | loff_t *ppos); |
132 | int ndisc_ifinfo_sysctl_strategy(ctl_table *ctl, int __user *name, | ||
133 | int nlen, void __user *oldval, | ||
134 | size_t __user *oldlenp, | ||
135 | void __user *newval, size_t newlen); | ||
132 | #endif | 136 | #endif |
133 | 137 | ||
134 | extern void inet6_ifinfo_notify(int event, | 138 | extern void inet6_ifinfo_notify(int event, |
diff --git a/include/net/netlink.h b/include/net/netlink.h index a5506c42f03c..112dcdf7e34e 100644 --- a/include/net/netlink.h +++ b/include/net/netlink.h | |||
@@ -772,12 +772,13 @@ static inline int __nla_parse_nested_compat(struct nlattr *tb[], int maxtype, | |||
772 | const struct nla_policy *policy, | 772 | const struct nla_policy *policy, |
773 | int len) | 773 | int len) |
774 | { | 774 | { |
775 | if (nla_len(nla) < len) | 775 | int nested_len = nla_len(nla) - NLA_ALIGN(len); |
776 | |||
777 | if (nested_len < 0) | ||
776 | return -1; | 778 | return -1; |
777 | if (nla_len(nla) >= NLA_ALIGN(len) + sizeof(struct nlattr)) | 779 | if (nested_len >= nla_attr_size(0)) |
778 | return nla_parse_nested(tb, maxtype, | 780 | return nla_parse(tb, maxtype, nla_data(nla) + NLA_ALIGN(len), |
779 | nla_data(nla) + NLA_ALIGN(len), | 781 | nested_len, policy); |
780 | policy); | ||
781 | memset(tb, 0, sizeof(struct nlattr *) * (maxtype + 1)); | 782 | memset(tb, 0, sizeof(struct nlattr *) * (maxtype + 1)); |
782 | return 0; | 783 | return 0; |
783 | } | 784 | } |