aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-05-26 02:26:10 -0400
committerDavid S. Miller <davem@davemloft.net>2008-05-26 02:26:10 -0400
commit43154d08d6bb5c69aa0d0e3448fb348b4cd84e91 (patch)
tree176edb26aad2d33e8be36530b66b19d0603c4b1d /include
parent03194379a77b02df3404ec4848a50c6784e9a8a5 (diff)
parent289c79a4bd350e8a25065102563ad1a183d1b402 (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/Kbuild2
-rw-r--r--include/linux/netdevice.h3
-rw-r--r--include/linux/netfilter.h2
-rw-r--r--include/linux/netfilter_arp/arp_tables.h2
-rw-r--r--include/linux/netfilter_ipv4/ip_tables.h2
-rw-r--r--include/linux/netfilter_ipv6/ip6_tables.h2
-rw-r--r--include/linux/tcp.h2
-rw-r--r--include/net/mac80211.h25
-rw-r--r--include/net/ndisc.h4
-rw-r--r--include/net/netlink.h11
10 files changed, 42 insertions, 13 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index b7d81b2a904..54a4cfb50ed 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -92,7 +92,6 @@ header-y += if_slip.h
92header-y += if_strip.h 92header-y += if_strip.h
93header-y += if_tun.h 93header-y += if_tun.h
94header-y += if_tunnel.h 94header-y += if_tunnel.h
95header-y += in6.h
96header-y += in_route.h 95header-y += in_route.h
97header-y += ioctl.h 96header-y += ioctl.h
98header-y += ip6_tunnel.h 97header-y += ip6_tunnel.h
@@ -236,6 +235,7 @@ unifdef-y += if_vlan.h
236unifdef-y += igmp.h 235unifdef-y += igmp.h
237unifdef-y += inet_diag.h 236unifdef-y += inet_diag.h
238unifdef-y += in.h 237unifdef-y += in.h
238unifdef-y += in6.h
239unifdef-y += inotify.h 239unifdef-y += inotify.h
240unifdef-y += input.h 240unifdef-y += input.h
241unifdef-y += ip.h 241unifdef-y += ip.h
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index b11e6e19e96..f27fd200933 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 e4c66593b5c..0c5eb7ed8b3 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 dd9c97f2d43..590ac3d6d5d 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 bfc889f9027..092bd50581a 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 f2507dcc575..1089e33cf63 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 d96d9b12230..18e62e3d406 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 909956c97c4..2f985399799 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1602,13 +1602,16 @@ void ieee80211_wake_queues(struct ieee80211_hw *hw);
1602void ieee80211_scan_completed(struct ieee80211_hw *hw); 1602void 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 */
1614void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw, 1617void 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 */
1634void 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 9c451ff2f4f..a01b7c4dc76 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);
132int 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
134extern void inet6_ifinfo_notify(int event, 138extern void inet6_ifinfo_notify(int event,
diff --git a/include/net/netlink.h b/include/net/netlink.h
index a5506c42f03..112dcdf7e34 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}