summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-12-29 16:31:49 -0500
committerDavid S. Miller <davem@davemloft.net>2014-12-29 16:31:49 -0500
commitdc97a1a9477f969e34b38ca9d9cd231cb93ebea2 (patch)
treeec52826b2f5e7c917878ec4108e3e35a5f8f8598
parent023e2cfa36c31b0ad28c159a1bb0d61ff57334c8 (diff)
downloadlinux-stable-dc97a1a9477f969e34b38ca9d9cd231cb93ebea2.tar.gz
linux-stable-dc97a1a9477f969e34b38ca9d9cd231cb93ebea2.tar.bz2
linux-stable-dc97a1a9477f969e34b38ca9d9cd231cb93ebea2.zip
genetlink: A genl_bind() to an out-of-range multicast group should not WARN().
Users can request to bind to arbitrary multicast groups, so warning when the requested group number is out of range is not appropriate. And with the warning removed, and the 'err' variable properly given an initial value, we can remove 'found' altogether. Reported-by: Sedat Dilek <sedat.dilek@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/netlink/genetlink.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c
index 91566ed36c43..2e11061ef885 100644
--- a/net/netlink/genetlink.c
+++ b/net/netlink/genetlink.c
@@ -985,8 +985,7 @@ static struct genl_multicast_group genl_ctrl_groups[] = {
static int genl_bind(struct net *net, int group)
{
- int i, err;
- bool found = false;
+ int i, err = 0;
down_read(&cb_lock);
for (i = 0; i < GENL_FAM_TAB_SIZE; i++) {
@@ -1003,16 +1002,12 @@ static int genl_bind(struct net *net, int group)
err = f->mcast_bind(net, fam_grp);
else
err = 0;
- found = true;
break;
}
}
}
up_read(&cb_lock);
- if (WARN_ON(!found))
- err = 0;
-
return err;
}