[Bridge] [PATCH] bridge: Fix return value of br_multicast_add_group()
Tobias Klauser
tklauser at distanz.ch
Thu Dec 9 06:02:36 PST 2010
If br_multicast_new_group returns NULL, we would return 0 (no error) to
the caller, which is not what we want. Instead we should return -ENOMEM
in this case.
Also replace IS_ERR(x) || !x by IS_ERR_OR_NULL(x)
Signed-off-by: Tobias Klauser <tklauser at distanz.ch>
---
net/bridge/br_multicast.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 326e599..d4e1e81 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -713,8 +713,11 @@ static int br_multicast_add_group(struct net_bridge *br,
mp = br_multicast_new_group(br, port, group);
err = PTR_ERR(mp);
- if (unlikely(IS_ERR(mp) || !mp))
+ if (IS_ERR_OR_NULL(mp)) {
+ if (!mp)
+ err = -ENOMEM;
goto err;
+ }
if (!port) {
hlist_add_head(&mp->mglist, &br->mglist);
--
1.7.0.4
More information about the Bridge
mailing list