Patch "ssb: Fix potential NULL pointer dereference in ssb_device_uevent()" 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

    ssb: Fix potential NULL pointer dereference in ssb_device_uevent()

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:
     ssb-fix-potential-null-pointer-dereference-in-ssb_de.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 cdc5bc0822ab03061369ddaa638724ec1e7b5dac
Author: Rand Deeb <rand.sec96@xxxxxxxxx>
Date:   Wed Mar 6 15:30:28 2024 +0300

    ssb: Fix potential NULL pointer dereference in ssb_device_uevent()
    
    [ Upstream commit 789c17185fb0f39560496c2beab9b57ce1d0cbe7 ]
    
    The ssb_device_uevent() function first attempts to convert the 'dev' pointer
    to 'struct ssb_device *'. However, it mistakenly dereferences 'dev' before
    performing the NULL check, potentially leading to a NULL pointer
    dereference if 'dev' is NULL.
    
    To fix this issue, move the NULL check before dereferencing the 'dev' pointer,
    ensuring that the pointer is valid before attempting to use it.
    
    Found by Linux Verification Center (linuxtesting.org) with SVACE.
    
    Signed-off-by: Rand Deeb <rand.sec96@xxxxxxxxx>
    Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxx>
    Link: https://msgid.link/20240306123028.164155-1-rand.sec96@xxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c
index ab080cf26c9ff..0c736d51566dc 100644
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
@@ -341,11 +341,13 @@ static int ssb_bus_match(struct device *dev, struct device_driver *drv)
 
 static int ssb_device_uevent(const struct device *dev, struct kobj_uevent_env *env)
 {
-	const struct ssb_device *ssb_dev = dev_to_ssb_dev(dev);
+	const struct ssb_device *ssb_dev;
 
 	if (!dev)
 		return -ENODEV;
 
+	ssb_dev = dev_to_ssb_dev(dev);
+
 	return add_uevent_var(env,
 			     "MODALIAS=ssb:v%04Xid%04Xrev%02X",
 			     ssb_dev->id.vendor, ssb_dev->id.coreid,




[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