lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 8 Apr 2022 00:30:47 +0800 From: Coly Li <colyli@...e.de> To: daihuaigang129@....com Cc: linux-bcache@...r.kernel.org, kent.overstreet@...il.com, linux-kernel@...r.kernel.org Subject: Re: [PATCH v1] bcache: fix AB-BA deadlock between cache register and cache_set_free On 3/29/22 11:17 AM, daihuaigang129@....com wrote: > From: daihuaigang <daihuaigang129@....com> > > bcache register add kobject_mutex then bch_register_mutex, > cache_set_free add bch_register_mutex then kobject_mutex. > fix AB-BA deadlock between cache register and cache_set_free. Can you explain a bit more about, - For "bcache register add kobject_mutex", which function referred by "bcache register add", and where is the kobject_mutex. - Where is bch_regsiter_mutex. It is not clear for me to understand how hte AB-BA deadlock generated yet. Thanks. Coly Li > > Signed-off-by: daihuaigang <daihuaigang129@....com> > --- > drivers/md/bcache/super.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c > index bf3de14..f17953c 100644 > --- a/drivers/md/bcache/super.c > +++ b/drivers/md/bcache/super.c > @@ -1690,10 +1690,8 @@ static void cache_set_free(struct closure *cl) > if (ca) { > ca->set = NULL; > c->cache = NULL; > - kobject_put(&ca->kobj); > } > > - > if (c->moving_gc_wq) > destroy_workqueue(c->moving_gc_wq); > bioset_exit(&c->bio_split); > @@ -1704,6 +1702,8 @@ static void cache_set_free(struct closure *cl) > > list_del(&c->list); > mutex_unlock(&bch_register_lock); > + if (ca) > + kobject_put(&ca->kobj); > > pr_info("Cache set %pU unregistered\n", c->set_uuid); > wake_up(&unregister_wait);
Powered by blists - more mailing lists