summaryrefslogtreecommitdiff
path: root/net/ipv6/mcast.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-06-09 12:44:19 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-06-09 12:44:19 -0700
commit63a07cb64ccc3ceae619d3298545d602ab5ecd38 (patch)
treee14e76f552eecb8c8e9b5f377b809c74a01f6f28 /net/ipv6/mcast.c
parentb95a56809343fb727c818ad1b9da14a17fa92ef6 (diff)
parent327723edebbbd621ed35b0d63073685eb225563e (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits) mac80211: fix deauth before assoc iwlwifi: add missing rcu_read_lock mac80211: fix function pointer check wireless: remove my name from the maintainer list ath5k: fix NULL pointer in antenna configuration p54usb: Add device ID for Dell WLA3310 USB wl1251: fix a memory leak in probe ipmr: dont corrupt lists 8139too: fix buffer overrun in rtl8139_init_board asix: check packet size against mtu+ETH_HLEN instead of ETH_FRAME_LEN r8169: fix random mdio_write failures ip6mr: fix a typo in ip6mr_for_each_table() iwlwifi: move sysfs_create_group to post request firmware iwlwifi: add name to Maintainers list iwl3945: fix internal scan iwl3945: enable stuck queue detection on 3945 ipv6: avoid high order allocations ath5k: retain promiscuous setting ath5k: depend on CONFIG_PM_SLEEP for suspend/resume functions mac80211: process station blockack action frames from work ...
Diffstat (limited to 'net/ipv6/mcast.c')
-rw-r--r--net/ipv6/mcast.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c
index 59f1881968c7..ab1622d7d409 100644
--- a/net/ipv6/mcast.c
+++ b/net/ipv6/mcast.c
@@ -1356,7 +1356,10 @@ static struct sk_buff *mld_newpack(struct net_device *dev, int size)
IPV6_TLV_PADN, 0 };
/* we assume size > sizeof(ra) here */
- skb = sock_alloc_send_skb(sk, size + LL_ALLOCATED_SPACE(dev), 1, &err);
+ size += LL_ALLOCATED_SPACE(dev);
+ /* limit our allocations to order-0 page */
+ size = min_t(int, size, SKB_MAX_ORDER(0, 0));
+ skb = sock_alloc_send_skb(sk, size, 1, &err);
if (!skb)
return NULL;