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: Simon Horman <horms@verge.net.au> Acked-by: Julian Anastasov <ja@ssi.bg>
This commit is contained in:
parent
6e08bfb879
commit
2fabf35bfc
@ -1206,8 +1206,7 @@ ip_vs_add_service(struct ip_vs_service_user_kern *u,
|
||||
|
||||
out_err:
|
||||
if (svc != NULL) {
|
||||
if (svc->scheduler)
|
||||
ip_vs_unbind_scheduler(svc);
|
||||
ip_vs_unbind_scheduler(svc);
|
||||
if (svc->inc) {
|
||||
local_bh_disable();
|
||||
ip_vs_app_inc_put(svc->inc);
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user