Commit-ID: 7c46835e4845fed5f348f5845a3a6165874e2f05 Gitweb: http://git.kernel.org/tip/7c46835e4845fed5f348f5845a3a6165874e2f05 Author: Roopa Prabhu <roprabhu@xxxxxxxxx> AuthorDate: Tue, 10 Aug 2010 18:55:10 +0000 Committer: David S. Miller <davem@xxxxxxxxxxxxx> CommitDate: Tue, 17 Aug 2010 02:32:58 -0700 enic: Use offsetof macro in vic tlv length calculation Signed-off-by: Scott Feldman <scofeldm@xxxxxxxxx> Signed-off-by: Roopa Prabhu <roprabhu@xxxxxxxxx> Signed-off-by: Vasanthy Kolluri <vkolluri@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> --- drivers/net/enic/vnic_vic.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/enic/vnic_vic.c b/drivers/net/enic/vnic_vic.c index 197c9d2..4725b79 100644 --- a/drivers/net/enic/vnic_vic.c +++ b/drivers/net/enic/vnic_vic.c @@ -54,8 +54,8 @@ int vic_provinfo_add_tlv(struct vic_provinfo *vp, u16 type, u16 length, if (!vp || !value) return -EINVAL; - if (ntohl(vp->length) + sizeof(*tlv) + length > - VIC_PROVINFO_MAX_TLV_DATA) + if (ntohl(vp->length) + offsetof(struct vic_provinfo_tlv, value) + + length > VIC_PROVINFO_MAX_TLV_DATA) return -ENOMEM; tlv = (struct vic_provinfo_tlv *)((u8 *)vp->tlv + @@ -66,7 +66,8 @@ int vic_provinfo_add_tlv(struct vic_provinfo *vp, u16 type, u16 length, memcpy(tlv->value, value, length); vp->num_tlvs = htonl(ntohl(vp->num_tlvs) + 1); - vp->length = htonl(ntohl(vp->length) + sizeof(*tlv) + length); + vp->length = htonl(ntohl(vp->length) + + offsetof(struct vic_provinfo_tlv, value) + length); return 0; } -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html