summaryrefslogtreecommitdiffstats
path: root/net/ipv6/ip6_flowlabel.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-02-07 02:52:44 -0800
committerDavid S. Miller <davem@davemloft.net>2009-02-07 02:52:44 -0800
commit409f0a9014fe24d906ba21aaccff80eb7f7304da (patch)
tree8d9a6946d6cf1c5aab72651a193ff860651e5e65 /net/ipv6/ip6_flowlabel.c
parent593721833d2a3987736467144ad062a709d3a72c (diff)
parent0b492fce3d72d982a7981905f85484a1e1ba7fde (diff)
downloadop-kernel-dev-409f0a9014fe24d906ba21aaccff80eb7f7304da.zip
op-kernel-dev-409f0a9014fe24d906ba21aaccff80eb7f7304da.tar.gz
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/wireless/iwlwifi/iwl-agn.c drivers/net/wireless/iwlwifi/iwl3945-base.c
Diffstat (limited to 'net/ipv6/ip6_flowlabel.c')
-rw-r--r--net/ipv6/ip6_flowlabel.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/net/ipv6/ip6_flowlabel.c b/net/ipv6/ip6_flowlabel.c
index c62dd24..7712578 100644
--- a/net/ipv6/ip6_flowlabel.c
+++ b/net/ipv6/ip6_flowlabel.c
@@ -323,17 +323,21 @@ static struct ip6_flowlabel *
fl_create(struct net *net, struct in6_flowlabel_req *freq, char __user *optval,
int optlen, int *err_p)
{
- struct ip6_flowlabel *fl;
+ struct ip6_flowlabel *fl = NULL;
int olen;
int addr_type;
int err;
+ olen = optlen - CMSG_ALIGN(sizeof(*freq));
+ err = -EINVAL;
+ if (olen > 64 * 1024)
+ goto done;
+
err = -ENOMEM;
fl = kzalloc(sizeof(*fl), GFP_KERNEL);
if (fl == NULL)
goto done;
- olen = optlen - CMSG_ALIGN(sizeof(*freq));
if (olen > 0) {
struct msghdr msg;
struct flowi flowi;
OpenPOWER on IntegriCloud