Patch "dlm: fix possible lkb_resource null dereference" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    dlm: fix possible lkb_resource null dereference

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     dlm-fix-possible-lkb_resource-null-dereference.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 14bac497f529579ad5217dd0c99dd81069e903e4
Author: Alexander Aring <aahringo@xxxxxxxxxx>
Date:   Fri Oct 4 11:13:38 2024 -0400

    dlm: fix possible lkb_resource null dereference
    
    [ Upstream commit b98333c67daf887c724cd692e88e2db9418c0861 ]
    
    This patch fixes a possible null pointer dereference when this function is
    called from request_lock() as lkb->lkb_resource is not assigned yet,
    only after validate_lock_args() by calling attach_lkb(). Another issue
    is that a resource name could be a non printable bytearray and we cannot
    assume to be ASCII coded.
    
    The log functionality is probably never being hit when DLM is used in
    normal way and no debug logging is enabled. The null pointer dereference
    can only occur on a new created lkb that does not have the resource
    assigned yet, it probably never hits the null pointer dereference but we
    should be sure that other changes might not change this behaviour and we
    actually can hit the mentioned null pointer dereference.
    
    In this patch we just drop the printout of the resource name, the lkb id
    is enough to make a possible connection to a resource name if this
    exists.
    
    Signed-off-by: Alexander Aring <aahringo@xxxxxxxxxx>
    Signed-off-by: David Teigland <teigland@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index 652c51fbbf768..6712d733fc90b 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -2698,16 +2698,14 @@ static int validate_lock_args(struct dlm_ls *ls, struct dlm_lkb *lkb,
 	case -EINVAL:
 		/* annoy the user because dlm usage is wrong */
 		WARN_ON(1);
-		log_error(ls, "%s %d %x %x %x %d %d %s", __func__,
+		log_error(ls, "%s %d %x %x %x %d %d", __func__,
 			  rv, lkb->lkb_id, dlm_iflags_val(lkb), args->flags,
-			  lkb->lkb_status, lkb->lkb_wait_type,
-			  lkb->lkb_resource->res_name);
+			  lkb->lkb_status, lkb->lkb_wait_type);
 		break;
 	default:
-		log_debug(ls, "%s %d %x %x %x %d %d %s", __func__,
+		log_debug(ls, "%s %d %x %x %x %d %d", __func__,
 			  rv, lkb->lkb_id, dlm_iflags_val(lkb), args->flags,
-			  lkb->lkb_status, lkb->lkb_wait_type,
-			  lkb->lkb_resource->res_name);
+			  lkb->lkb_status, lkb->lkb_wait_type);
 		break;
 	}
 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux