roopa at cumulusnetworks.com
2015-Feb-06 06:24 UTC
[Bridge] [PATCH net-next] bridge: add missing bridge port check for offloads
From: Roopa Prabhu <roopa at cumulusnetworks.com> This patch fixes a missing bridge port check caught by smatch. setlink/dellink of attributes like vlans can come for a bridge device and there is no need to offload those today. So, this patch adds a bridge port check. (In these cases however, the BRIDGE_SELF flags will always be set and we may not hit a problem with the current code). smatch complaint: The patch 68e331c785b8: "bridge: offload bridge port attributes to switch asic if feature flag set" from Jan 29, 2015, leads to the following Smatch complaint: net/bridge/br_netlink.c:552 br_setlink() error: we previously assumed 'p' could be null (see line 518) net/bridge/br_netlink.c 517 518 if (p && protinfo) { ^ Check for NULL. Reported-By: Dan Carpenter <dan.carpenter at oracle.com> Signed-off-by: Roopa Prabhu <roopa at cumulusnetworks.com> --- net/bridge/br_netlink.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c index b93f42c..4fbcea0 100644 --- a/net/bridge/br_netlink.c +++ b/net/bridge/br_netlink.c @@ -543,7 +543,7 @@ int br_setlink(struct net_device *dev, struct nlmsghdr *nlh, u16 flags) afspec, RTM_SETLINK); } - if (!(flags & BRIDGE_FLAGS_SELF)) { + if (p && !(flags & BRIDGE_FLAGS_SELF)) { /* set bridge attributes in hardware if supported */ ret_offload = netdev_switch_port_bridge_setlink(dev, nlh, @@ -583,7 +583,7 @@ int br_dellink(struct net_device *dev, struct nlmsghdr *nlh, u16 flags) */ br_ifinfo_notify(RTM_NEWLINK, p); - if (!(flags & BRIDGE_FLAGS_SELF)) { + if (p && !(flags & BRIDGE_FLAGS_SELF)) { /* del bridge attributes in hardware */ ret_offload = netdev_switch_port_bridge_dellink(dev, nlh, -- 1.7.10.4
David Miller
2015-Feb-08 06:50 UTC
[Bridge] [PATCH net-next] bridge: add missing bridge port check for offloads
From: roopa at cumulusnetworks.com Date: Thu, 5 Feb 2015 22:24:45 -0800> From: Roopa Prabhu <roopa at cumulusnetworks.com> > > This patch fixes a missing bridge port check caught by smatch. > > setlink/dellink of attributes like vlans can come for a bridge device > and there is no need to offload those today. So, this patch adds a bridge > port check. (In these cases however, the BRIDGE_SELF flags will always be set > and we may not hit a problem with the current code). > > smatch complaint: > > The patch 68e331c785b8: "bridge: offload bridge port attributes to > switch asic if feature flag set" from Jan 29, 2015, leads to the > following Smatch complaint: > > net/bridge/br_netlink.c:552 br_setlink() > error: we previously assumed 'p' could be null (see line 518) > > net/bridge/br_netlink.c > 517 > 518 if (p && protinfo) { > ^ > Check for NULL. > > Reported-By: Dan Carpenter <dan.carpenter at oracle.com> > Signed-off-by: Roopa Prabhu <roopa at cumulusnetworks.com>Applied, thanks.