From: Alexander Aring Date: Fri, 28 Feb 2025 22:48:51 +0000 (-0500) Subject: dlm: fix error if active rsb is not hashed X-Git-Tag: v6.15-rc1~150^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a3672304abf2a847ac0c54c84842c64c5bfba279;p=thirdparty%2Flinux.git dlm: fix error if active rsb is not hashed If an active rsb is not hashed anymore and this could occur because we releases and acquired locks we need to signal the followed code that the lookup failed. Since the lookup was successful, but it isn't part of the rsb hash anymore we need to signal it by setting error to -EBADR as dlm_search_rsb_tree() does it. Cc: stable@vger.kernel.org Fixes: 5be323b0c64d ("dlm: move dlm_search_rsb_tree() out of lock") Signed-off-by: Alexander Aring Signed-off-by: David Teigland --- diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c index 499fa999ae830..e01d5f29f4d25 100644 --- a/fs/dlm/lock.c +++ b/fs/dlm/lock.c @@ -741,6 +741,7 @@ static int find_rsb_dir(struct dlm_ls *ls, const void *name, int len, read_lock_bh(&ls->ls_rsbtbl_lock); if (!rsb_flag(r, RSB_HASHED)) { read_unlock_bh(&ls->ls_rsbtbl_lock); + error = -EBADR; goto do_new; }