mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
All three conflicts were cases of simple overlapping changes. Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
commit
6abdd5f593
468 changed files with 5386 additions and 2127 deletions
|
|
@ -53,7 +53,7 @@ int ife_tlv_meta_encode(void *skbdata, u16 attrtype, u16 dlen, const void *dval)
|
|||
u32 *tlv = (u32 *)(skbdata);
|
||||
u16 totlen = nla_total_size(dlen); /*alignment + hdr */
|
||||
char *dptr = (char *)tlv + NLA_HDRLEN;
|
||||
u32 htlv = attrtype << 16 | totlen;
|
||||
u32 htlv = attrtype << 16 | dlen;
|
||||
|
||||
*tlv = htonl(htlv);
|
||||
memset(dptr, 0, totlen - NLA_HDRLEN);
|
||||
|
|
@ -135,7 +135,7 @@ EXPORT_SYMBOL_GPL(ife_release_meta_gen);
|
|||
|
||||
int ife_validate_meta_u32(void *val, int len)
|
||||
{
|
||||
if (len == 4)
|
||||
if (len == sizeof(u32))
|
||||
return 0;
|
||||
|
||||
return -EINVAL;
|
||||
|
|
@ -144,8 +144,8 @@ EXPORT_SYMBOL_GPL(ife_validate_meta_u32);
|
|||
|
||||
int ife_validate_meta_u16(void *val, int len)
|
||||
{
|
||||
/* length will include padding */
|
||||
if (len == NLA_ALIGN(2))
|
||||
/* length will not include padding */
|
||||
if (len == sizeof(u16))
|
||||
return 0;
|
||||
|
||||
return -EINVAL;
|
||||
|
|
@ -652,12 +652,14 @@ static int tcf_ife_decode(struct sk_buff *skb, const struct tc_action *a,
|
|||
u8 *tlvdata = (u8 *)tlv;
|
||||
u16 mtype = tlv->type;
|
||||
u16 mlen = tlv->len;
|
||||
u16 alen;
|
||||
|
||||
mtype = ntohs(mtype);
|
||||
mlen = ntohs(mlen);
|
||||
alen = NLA_ALIGN(mlen);
|
||||
|
||||
if (find_decode_metaid(skb, ife, mtype, (mlen - 4),
|
||||
(void *)(tlvdata + 4))) {
|
||||
if (find_decode_metaid(skb, ife, mtype, (mlen - NLA_HDRLEN),
|
||||
(void *)(tlvdata + NLA_HDRLEN))) {
|
||||
/* abuse overlimits to count when we receive metadata
|
||||
* but dont have an ops for it
|
||||
*/
|
||||
|
|
@ -666,8 +668,8 @@ static int tcf_ife_decode(struct sk_buff *skb, const struct tc_action *a,
|
|||
ife->tcf_qstats.overlimits++;
|
||||
}
|
||||
|
||||
tlvdata += mlen;
|
||||
ifehdrln -= mlen;
|
||||
tlvdata += alen;
|
||||
ifehdrln -= alen;
|
||||
tlv = (struct meta_tlvhdr *)tlvdata;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -641,18 +641,19 @@ struct Qdisc *qdisc_create_dflt(struct netdev_queue *dev_queue,
|
|||
struct Qdisc *sch;
|
||||
|
||||
if (!try_module_get(ops->owner))
|
||||
goto errout;
|
||||
return NULL;
|
||||
|
||||
sch = qdisc_alloc(dev_queue, ops);
|
||||
if (IS_ERR(sch))
|
||||
goto errout;
|
||||
if (IS_ERR(sch)) {
|
||||
module_put(ops->owner);
|
||||
return NULL;
|
||||
}
|
||||
sch->parent = parentid;
|
||||
|
||||
if (!ops->init || ops->init(sch, NULL) == 0)
|
||||
return sch;
|
||||
|
||||
qdisc_destroy(sch);
|
||||
errout:
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL(qdisc_create_dflt);
|
||||
|
|
|
|||
Loading…
Reference in a new issue