net: ipmr: fix setsockopt error return

We can have both errors and we'll return the second one, fix it to
return an error at a time as it's normal. I've overlooked this in my
previous set.

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Nikolay Aleksandrov 2015-11-26 15:23:49 +01:00 committed by David S. Miller
parent 1973a4ea6c
commit 42e6b89ce4

View File

@ -1284,12 +1284,14 @@ int ip_mroute_setsockopt(struct sock *sk, int optname, char __user *optval,
switch (optname) {
case MRT_INIT:
if (optlen != sizeof(int))
if (optlen != sizeof(int)) {
ret = -EINVAL;
if (rtnl_dereference(mrt->mroute_sk))
ret = -EADDRINUSE;
if (ret)
break;
}
if (rtnl_dereference(mrt->mroute_sk)) {
ret = -EADDRINUSE;
break;
}
ret = ip_ra_control(sk, 1, mrtsock_destruct);
if (ret == 0) {