mpls: validate L2 via address length
authorRobert Shearman <rshearma@brocade.com>
Thu, 10 Dec 2015 19:30:48 +0000 (19:30 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 Dec 2015 05:43:44 +0000 (00:43 -0500)
commita3e948e83a302c63f196512e253067ded6bbc832
treeaa6ceb9dafde5d1279b18da1e994f35a38f361a2
parentf1c2ef40c6436f8fa287ff1be2c75c4932180b1f
mpls: validate L2 via address length

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 <rshearma@brocade.com>
Acked-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mpls/af_mpls.c