linux_dsm_epyc7002/fs/ocfs2/dlm
Wengang Wang b11f1f1ab7 ocfs2/dlm: remove potential deadlock -V3
When we need to take both dlm_domain_lock and dlm->spinlock, we should take
them in order of: dlm_domain_lock then dlm->spinlock.

There is pathes disobey this order. That is calling dlm_lockres_put() with
dlm->spinlock held in dlm_run_purge_list. dlm_lockres_put() calls dlm_put() at
the ref and dlm_put() locks on dlm_domain_lock.

Fix:
Don't grab/put the dlm when the initialising/releasing lockres.
That grab is not required because we don't call dlm_unregister_domain()
based on refcount.

Signed-off-by: Wengang Wang <wen.gang.wang@oracle.com>
Cc: stable@kernel.org
Signed-off-by: Joel Becker <joel.becker@oracle.com>
2010-08-07 10:50:30 -07:00
..
dlmapi.h ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
dlmast.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2010-05-21 07:20:17 -07:00
dlmcommon.h ocfs2:dlm: avoid dlm->ast_lock lockres->spinlock dependency break 2010-05-18 16:41:34 -07:00
dlmconvert.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2010-05-21 07:20:17 -07:00
dlmconvert.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
dlmdebug.c ocfs2/dlm: Fix printing of lockname 2010-02-08 13:01:31 -08:00
dlmdebug.h [PATCH 2/3] ocfs2/dlm: Silence build warnings 2008-05-30 15:15:10 -07:00
dlmdomain.c ocfs2: tighten up strlen() checking 2010-07-12 13:57:53 -07:00
dlmdomain.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
dlmlock.c fs/ocfs2/dlm: Drop memory allocation cast 2010-05-18 12:31:10 -07:00
dlmmaster.c ocfs2/dlm: remove potential deadlock -V3 2010-08-07 10:50:30 -07:00
dlmrecovery.c ocfs2/dlm: avoid incorrect bit set in refmap on recovery master 2010-08-07 10:49:41 -07:00
dlmthread.c ocfs2/dlm: avoid incorrect bit set in refmap on recovery master 2010-08-07 10:49:41 -07:00
dlmunlock.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2010-05-21 07:20:17 -07:00
dlmver.c ocfs2: bump version number 2008-01-25 15:05:46 -08:00
dlmver.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
Makefile ocfs2_dlmfs: Move to its own directory 2010-02-26 15:41:14 -08:00