diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2017-02-23 16:19:41 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-03-22 11:43:31 (GMT) |
commit | ee2da79de289d062c9c3a5714b3f4d37fa6c868f (patch) | |
tree | 0a6162ed58c40d1f99ebab133ead4a668fa9298a | |
parent | 0c6e38e791e94ae0b2a773ea7262688719072316 (diff) | |
download | linux-ee2da79de289d062c9c3a5714b3f4d37fa6c868f.tar.xz |
vxlan: correctly validate VXLAN ID against VXLAN_N_VID
[ Upstream commit 4e37d6911f36545b286d15073f6f2222f840e81c ]
The incorrect check caused an off-by-one error: the maximum VID 0xffffff
was unusable.
Fixes: d342894c5d2f ("vxlan: virtual extensible lan")
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Acked-by: Jiri Benc <jbenc@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/net/vxlan.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index d4f495b..7e3b2e2 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -2637,7 +2637,7 @@ static int vxlan_validate(struct nlattr *tb[], struct nlattr *data[]) if (data[IFLA_VXLAN_ID]) { __u32 id = nla_get_u32(data[IFLA_VXLAN_ID]); - if (id >= VXLAN_VID_MASK) + if (id >= VXLAN_N_VID) return -ERANGE; } |