Skip to content

Commit

Permalink
ssb: Fix potential NULL pointer dereference in ssb_device_uevent()
Browse files Browse the repository at this point in the history
[ Upstream commit 789c171 ]

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@gmail.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240306123028.164155-1-rand.sec96@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
RandDeeb authored and gregkh committed Jun 27, 2024
1 parent 54160fb commit 7d43c83
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/ssb/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down

0 comments on commit 7d43c83

Please sign in to comment.