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

Commit 2fabf35b authored by Simon Horman's avatar Simon Horman
Browse files

IPVS: ip_vs_{un,}bind_scheduler NULL arguments



In general NULL arguments aren't passed by the few callers that exist,
so don't test for them.

The exception is to make passing NULL to ip_vs_unbind_scheduler() a noop.

Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
Acked-by: default avatarJulian Anastasov <ja@ssi.bg>
parent 6e08bfb8
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -1206,7 +1206,6 @@ ip_vs_add_service(struct ip_vs_service_user_kern *u,

 out_err:
	if (svc != NULL) {
		if (svc->scheduler)
		ip_vs_unbind_scheduler(svc);
		if (svc->inc) {
			local_bh_disable();
+3 −20
Original line number Diff line number Diff line
@@ -46,15 +46,6 @@ int ip_vs_bind_scheduler(struct ip_vs_service *svc,
{
	int ret;

	if (svc == NULL) {
		pr_err("%s(): svc arg NULL\n", __func__);
		return -EINVAL;
	}
	if (scheduler == NULL) {
		pr_err("%s(): scheduler arg NULL\n", __func__);
		return -EINVAL;
	}

	svc->scheduler = scheduler;

	if (scheduler->init_service) {
@@ -74,18 +65,10 @@ int ip_vs_bind_scheduler(struct ip_vs_service *svc,
 */
int ip_vs_unbind_scheduler(struct ip_vs_service *svc)
{
	struct ip_vs_scheduler *sched;
	struct ip_vs_scheduler *sched = svc->scheduler;

	if (svc == NULL) {
		pr_err("%s(): svc arg NULL\n", __func__);
		return -EINVAL;
	}

	sched = svc->scheduler;
	if (sched == NULL) {
		pr_err("%s(): svc isn't bound\n", __func__);
		return -EINVAL;
	}
	if (!sched)
		return 0;

	if (sched->done_service) {
		if (sched->done_service(svc) != 0) {