diff options
author | David S. Miller <davem@davemloft.net> | 2009-02-07 02:52:44 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-07 02:52:44 -0800 |
commit | 409f0a9014fe24d906ba21aaccff80eb7f7304da (patch) | |
tree | 8d9a6946d6cf1c5aab72651a193ff860651e5e65 /net/ipv6/ip6_flowlabel.c | |
parent | 593721833d2a3987736467144ad062a709d3a72c (diff) | |
parent | 0b492fce3d72d982a7981905f85484a1e1ba7fde (diff) | |
download | op-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.c | 8 |
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; |