Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e08bfb8 authored by Simon Horman's avatar Simon Horman
Browse files

IPVS: Allow null argument to ip_vs_scheduler_put()



This simplifies caller logic sightly.

Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
Acked-by: default avatarJulian Anastasov <ja@ssi.bg>
parent f11017ec
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -1144,7 +1144,7 @@ ip_vs_add_service(struct ip_vs_service_user_kern *u,
	if (sched == NULL) {
		pr_info("Scheduler module ip_vs_%s not found\n", u->sched_name);
		ret = -ENOENT;
		goto out_mod_dec;
		goto out_err;
	}

#ifdef CONFIG_IP_VS_IPV6
@@ -1217,7 +1217,6 @@ ip_vs_add_service(struct ip_vs_service_user_kern *u,
	}
	ip_vs_scheduler_put(sched);

  out_mod_dec:
	/* decrease the module use count */
	ip_vs_use_count_dec();

@@ -1300,10 +1299,7 @@ ip_vs_edit_service(struct ip_vs_service *svc, struct ip_vs_service_user_kern *u)
#ifdef CONFIG_IP_VS_IPV6
  out:
#endif

	if (old_sched)
	ip_vs_scheduler_put(old_sched);

	return ret;
}

@@ -1327,7 +1323,6 @@ static void __ip_vs_del_service(struct ip_vs_service *svc)
	/* Unbind scheduler */
	old_sched = svc->scheduler;
	ip_vs_unbind_scheduler(svc);
	if (old_sched)
	ip_vs_scheduler_put(old_sched);

	/* Unbind app inc */
+1 −1
Original line number Diff line number Diff line
@@ -159,7 +159,7 @@ struct ip_vs_scheduler *ip_vs_scheduler_get(const char *sched_name)

void ip_vs_scheduler_put(struct ip_vs_scheduler *scheduler)
{
	if (scheduler->module)
	if (scheduler && scheduler->module)
		module_put(scheduler->module);
}