From a17626eea22dd2452955412b41946ffe0a7b8479 Mon Sep 17 00:00:00 2001 From: Federico Vaga <federico.vaga@gmail.com> Date: Fri, 27 Jan 2012 02:59:15 +0100 Subject: [PATCH] zstat->cset_list: lock operations on this list Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com> --- zio-sys.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/zio-sys.c b/zio-sys.c index a8494be..e0deaec 100644 --- a/zio-sys.c +++ b/zio-sys.c @@ -1433,9 +1433,9 @@ static int cset_register(struct zio_cset *cset) goto out_tr; cset->trig = trig; } - + spin_lock(&zstat->lock); list_add(&cset->list_cset, &zstat->list_cset); - + spin_unlock(&zstat->lock); /* Private initialization function */ if (cset->init) { err = cset->init(cset); @@ -1479,7 +1479,9 @@ static void cset_unregister(struct zio_cset *cset) cset->exit(cset); /* Remove from csets list*/ + spin_lock(&zstat->lock); list_del(&cset->list_cset); + spin_unlock(&zstat->lock); /* destroy instance and decrement trigger usage */ __ti_unregister(cset->trig, cset->ti); __ti_destroy(cset->trig, cset->ti); -- GitLab