diff options
author | Bob Peterson <rpeterso@redhat.com> | 2020-04-23 21:30:57 +0200 |
---|---|---|
committer | Andreas Gruenbacher <agruenba@redhat.com> | 2020-05-08 14:45:38 +0200 |
commit | a8b7528b69d4dc7e94d0338851ff8c929231fc4b (patch) | |
tree | ea62be8a053fa2dd9ba94407025973fb9f74fbfe /kernel/kexec_internal.h | |
parent | gfs2: fix withdraw sequence deadlock (diff) | |
download | linux-a8b7528b69d4dc7e94d0338851ff8c929231fc4b.tar.xz linux-a8b7528b69d4dc7e94d0338851ff8c929231fc4b.zip |
gfs2: Fix error exit in do_xmote
Before this patch, if an error was detected from glock function go_sync
by function do_xmote, it would return. But the function had temporarily
unlocked the gl_lockref spin_lock, and it never re-locked it. When the
caller of do_xmote tried to unlock it again, it was already unlocked,
which resulted in a corrupted spin_lock value.
This patch makes sure the gl_lockref spin_lock is re-locked after it is
unlocked.
Thanks to Wu Bo <wubo40@huawei.com> for reporting this problem.
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'kernel/kexec_internal.h')
0 files changed, 0 insertions, 0 deletions