summaryrefslogtreecommitdiffstats
path: root/sound/sh/aica.h
diff options
context:
space:
mode:
authorJulian Anastasov <ja@ssi.bg>2015-06-29 21:51:40 +0300
committerSimon Horman <horms@verge.net.au>2015-07-14 16:41:27 +0900
commit05f00505a89acd21f5d0d20f5797dfbc4cf85243 (patch)
tree9e4948698b71fcec2dc3b233c22893efded4c16b /sound/sh/aica.h
parent4754957f04f5f368792a0eb7dab0ae89fb93dcfd (diff)
downloadop-kernel-dev-05f00505a89acd21f5d0d20f5797dfbc4cf85243.zip
op-kernel-dev-05f00505a89acd21f5d0d20f5797dfbc4cf85243.tar.gz
ipvs: fix crash if scheduler is changed
I overlooked the svc->sched_data usage from schedulers when the services were converted to RCU in 3.10. Now the rare ipvsadm -E command can change the scheduler but due to the reverse order of ip_vs_bind_scheduler and ip_vs_unbind_scheduler we provide new sched_data to the old scheduler resulting in a crash. To fix it without changing the scheduler methods we have to use synchronize_rcu() only for the editing case. It means all svc->scheduler readers should expect a NULL value. To avoid breakage for the service listing and ipvsadm -R we can use the "none" name to indicate that scheduler is not assigned, a state when we drop new connections. Reported-by: Alexander Vasiliev <a.vasylev@404-group.com> Fixes: ceec4c381681 ("ipvs: convert services to rcu") Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'sound/sh/aica.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud