On 12/11/15, 2:51 PM, roopa wrote:
> On 12/10/15, 11:30 AM, Robert Shearman wrote:
>> If an L2 via address for an mpls nexthop is specified, the length of
>> the L2 address must match that expected by the output device,
>> otherwise it could access memory beyond the end of the via address
>> buffer in the route.
>>
>> This check was present prior to commit f8efb73c97e2 ("mpls: multipath
>> route support"), but got lost in the refactoring, so add it back,
>> applying it to all nexthops in multipath routes.
>>
>> Fixes: f8efb73c97e2 ("mpls: multipath route support")
>> Signed-off-by: Robert Shearman <rshea...@brocade.com>
>> ---
>>  net/mpls/af_mpls.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c
>> index c70d750148b6..3be29cb1f658 100644
>> --- a/net/mpls/af_mpls.c
>> +++ b/net/mpls/af_mpls.c
>> @@ -534,6 +534,10 @@ static int mpls_nh_assign_dev(struct net *net, struct 
>> mpls_route *rt,
>>      if (!mpls_dev_get(dev))
>>              goto errout;
>>  
>> +    if ((nh->nh_via_table == NEIGH_LINK_TABLE) &&
>> +        (dev->addr_len != nh->nh_via_alen))
>> +            goto errout;
>> +
>>
> Robert, seems like the right place for this check is nla_get_via ?
never mind. This looks fine.

Acked-by: Roopa Prabhu <ro...@cumulusnetworks.com>

Thanks!.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to