diff options
| author | Nikolay Aleksandrov <[email protected]> | 2017-06-06 01:26:24 +0300 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2017-06-06 16:05:31 -0400 |
| commit | 1020ce3108cc26fbf09d70550ea2937cb1a211d2 (patch) | |
| tree | 5933ffa09ce8626a546e1591a69b24199e3a7781 | |
| parent | 79514ef670e9e575a1fe36922268c439d0f0ca8a (diff) | |
net: bridge: fix a null pointer dereference in br_afspec
We might call br_afspec() with p == NULL which is a valid use case if
the action is on the bridge device itself, but the bridge tunnel code
dereferences the p pointer without checking, so check if p is null
first.
Reported-by: Gustavo A. R. Silva <[email protected]>
Fixes: efa5356b0d97 ("bridge: per vlan dst_metadata netlink support")
Signed-off-by: Nikolay Aleksandrov <[email protected]>
Acked-by: Roopa Prabhu <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
| -rw-r--r-- | net/bridge/br_netlink.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c index 574f78824d8a..32bd3ead9ba1 100644 --- a/net/bridge/br_netlink.c +++ b/net/bridge/br_netlink.c @@ -595,7 +595,7 @@ static int br_afspec(struct net_bridge *br, err = 0; switch (nla_type(attr)) { case IFLA_BRIDGE_VLAN_TUNNEL_INFO: - if (!(p->flags & BR_VLAN_TUNNEL)) + if (!p || !(p->flags & BR_VLAN_TUNNEL)) return -EINVAL; err = br_parse_vlan_tunnel_info(attr, &tinfo_curr); if (err) |