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@xxxxxxxxxx> --- 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 _______________________________________________ Bridge mailing list Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/bridge