30 lines
1.1 KiB
Diff
30 lines
1.1 KiB
Diff
From 2295bed9bebe8d1eef276194fed5b5fbe89c5363 Mon Sep 17 00:00:00 2001
|
|
From: Alexander Stein <alexander.stein@ew.tq-group.com>
|
|
Date: Tue, 7 Feb 2023 12:05:30 +0100
|
|
Subject: [PATCH] of: device: Do not ignore error code in
|
|
of_device_uevent_modalias
|
|
|
|
of_device_get_modalias might return an error code, propagate that one.
|
|
Otherwise the negative, signed integer is propagated to unsigned integer
|
|
for the comparison resulting in a huge 'sl' size.
|
|
|
|
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
|
|
Reviewed-by: Rob Herring <robh@kernel.org>
|
|
Link: https://lore.kernel.org/r/20230207110531.1060252-3-alexander.stein@ew.tq-group.com
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
---
|
|
drivers/of/device.c | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
--- a/drivers/of/device.c
|
|
+++ b/drivers/of/device.c
|
|
@@ -381,6 +381,8 @@ int of_device_uevent_modalias(struct dev
|
|
|
|
sl = of_device_get_modalias(dev, &env->buf[env->buflen-1],
|
|
sizeof(env->buf) - env->buflen);
|
|
+ if (sl < 0)
|
|
+ return sl;
|
|
if (sl >= (sizeof(env->buf) - env->buflen))
|
|
return -ENOMEM;
|
|
env->buflen += sl;
|