All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Ensure all backlight drivers zero the properties structure
@ 2024-02-20 15:30 Daniel Thompson
  2024-02-20 15:30 ` [PATCH 1/4] backlight: da9052: Fully initialize backlight_properties during probe Daniel Thompson
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Daniel Thompson @ 2024-02-20 15:30 UTC (permalink / raw)
  To: Lee Jones, Jingoo Han
  Cc: Daniel Thompson, Luca Weiss, dri-devel, linux-fbdev, linux-kernel

Luca Weiss recently shared a patch to zero the properties structure for
lm3630a... and shortly afterwards I realized I should probably scan for
a similar class of errors in other drivers.

Results follow in the next four patches (they could all be one patch but
for the fact there are different Fixes: tags)!

Daniel Thompson (4):
  backlight: da9052: Fully initialize backlight_properties during probe
  backlight: lm3639: Fully initialize backlight_properties during probe
  backlight: lp8788: Fully initialize backlight_properties during probe
  backlight: mp3309c: Fully initialize backlight_properties during probe

 drivers/video/backlight/da9052_bl.c | 1 +
 drivers/video/backlight/lm3639_bl.c | 1 +
 drivers/video/backlight/lp8788_bl.c | 1 +
 drivers/video/backlight/mp3309c.c   | 1 +
 4 files changed, 4 insertions(+)


base-commit: b401b621758e46812da61fa58a67c3fd8d91de0d
--
2.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/4] backlight: da9052: Fully initialize backlight_properties during probe
  2024-02-20 15:30 [PATCH 0/4] Ensure all backlight drivers zero the properties structure Daniel Thompson
@ 2024-02-20 15:30 ` Daniel Thompson
  2024-02-20 15:30 ` [PATCH 2/4] backlight: lm3639: " Daniel Thompson
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Daniel Thompson @ 2024-02-20 15:30 UTC (permalink / raw)
  To: Lee Jones, Jingoo Han
  Cc: Daniel Thompson, Luca Weiss, dri-devel, linux-fbdev, linux-kernel

props is stack allocated and the fields that are not explcitly set
by the probe function need to be zeroed or we'll get undefined behaviour
(especially so power/blank states)!

Fixes: 6ede3d832aaa ("backlight: add driver for DA9052/53 PMIC v1")
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 drivers/video/backlight/da9052_bl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/da9052_bl.c b/drivers/video/backlight/da9052_bl.c
index 1cdc8543310b4..b8ff7046510eb 100644
--- a/drivers/video/backlight/da9052_bl.c
+++ b/drivers/video/backlight/da9052_bl.c
@@ -117,6 +117,7 @@ static int da9052_backlight_probe(struct platform_device *pdev)
 	wleds->led_reg = platform_get_device_id(pdev)->driver_data;
 	wleds->state = DA9052_WLEDS_OFF;
 
+	memset(&props, 0, sizeof(struct backlight_properties));
 	props.type = BACKLIGHT_RAW;
 	props.max_brightness = DA9052_MAX_BRIGHTNESS;
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/4] backlight: lm3639: Fully initialize backlight_properties during probe
  2024-02-20 15:30 [PATCH 0/4] Ensure all backlight drivers zero the properties structure Daniel Thompson
  2024-02-20 15:30 ` [PATCH 1/4] backlight: da9052: Fully initialize backlight_properties during probe Daniel Thompson
@ 2024-02-20 15:30 ` Daniel Thompson
  2024-02-20 15:30 ` [PATCH 3/4] backlight: lp8788: " Daniel Thompson
  2024-02-20 15:30 ` [PATCH 4/4] backlight: mp3309c: " Daniel Thompson
  3 siblings, 0 replies; 5+ messages in thread
From: Daniel Thompson @ 2024-02-20 15:30 UTC (permalink / raw)
  To: Lee Jones, Jingoo Han
  Cc: Daniel Thompson, Luca Weiss, dri-devel, linux-fbdev, linux-kernel

props is stack allocated and the fields that are not explcitly set
by the probe function need to be zeroed or we'll get undefined behaviour
(especially so power/blank states)!

Fixes: 0f59858d5119 ("backlight: add new lm3639 backlight driver")
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 drivers/video/backlight/lm3639_bl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/lm3639_bl.c b/drivers/video/backlight/lm3639_bl.c
index 5246c171497d6..564f62acd7211 100644
--- a/drivers/video/backlight/lm3639_bl.c
+++ b/drivers/video/backlight/lm3639_bl.c
@@ -338,6 +338,7 @@ static int lm3639_probe(struct i2c_client *client)
 	}
 
 	/* backlight */
+	memset(&props, 0, sizeof(struct backlight_properties));
 	props.type = BACKLIGHT_RAW;
 	props.brightness = pdata->init_brt_led;
 	props.max_brightness = pdata->max_brt_led;
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/4] backlight: lp8788: Fully initialize backlight_properties during probe
  2024-02-20 15:30 [PATCH 0/4] Ensure all backlight drivers zero the properties structure Daniel Thompson
  2024-02-20 15:30 ` [PATCH 1/4] backlight: da9052: Fully initialize backlight_properties during probe Daniel Thompson
  2024-02-20 15:30 ` [PATCH 2/4] backlight: lm3639: " Daniel Thompson
@ 2024-02-20 15:30 ` Daniel Thompson
  2024-02-20 15:30 ` [PATCH 4/4] backlight: mp3309c: " Daniel Thompson
  3 siblings, 0 replies; 5+ messages in thread
From: Daniel Thompson @ 2024-02-20 15:30 UTC (permalink / raw)
  To: Lee Jones, Jingoo Han
  Cc: Daniel Thompson, Luca Weiss, dri-devel, linux-fbdev, linux-kernel

props is stack allocated and the fields that are not explcitly set
by the probe function need to be zeroed or we'll get undefined behaviour
(especially so power/blank states)!

Fixes: c5a51053cf3b ("backlight: add new lp8788 backlight driver")
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 drivers/video/backlight/lp8788_bl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/lp8788_bl.c b/drivers/video/backlight/lp8788_bl.c
index d1a14b0db265b..31f97230ee506 100644
--- a/drivers/video/backlight/lp8788_bl.c
+++ b/drivers/video/backlight/lp8788_bl.c
@@ -191,6 +191,7 @@ static int lp8788_backlight_register(struct lp8788_bl *bl)
 	int init_brt;
 	char *name;
 
+	memset(&props, 0, sizeof(struct backlight_properties));
 	props.type = BACKLIGHT_PLATFORM;
 	props.max_brightness = MAX_BRIGHTNESS;
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 4/4] backlight: mp3309c: Fully initialize backlight_properties during probe
  2024-02-20 15:30 [PATCH 0/4] Ensure all backlight drivers zero the properties structure Daniel Thompson
                   ` (2 preceding siblings ...)
  2024-02-20 15:30 ` [PATCH 3/4] backlight: lp8788: " Daniel Thompson
@ 2024-02-20 15:30 ` Daniel Thompson
  3 siblings, 0 replies; 5+ messages in thread
From: Daniel Thompson @ 2024-02-20 15:30 UTC (permalink / raw)
  To: Lee Jones, Jingoo Han
  Cc: Daniel Thompson, Luca Weiss, dri-devel, linux-fbdev, linux-kernel

props is stack allocated and, although this driver initializes all the
fields that are not "owned" by the framework, we'd still like to ensure
it is zeroed to avoid problems from this driver if the fields change.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 drivers/video/backlight/mp3309c.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/backlight/mp3309c.c b/drivers/video/backlight/mp3309c.c
index 34d71259fac1d..cdf302d6f1cb5 100644
--- a/drivers/video/backlight/mp3309c.c
+++ b/drivers/video/backlight/mp3309c.c
@@ -373,6 +373,7 @@ static int mp3309c_probe(struct i2c_client *client)
 	chip->pdata = pdata;
 
 	/* Backlight properties */
+	memset(&props, 0, sizeof(struct backlight_properties));
 	props.brightness = pdata->default_brightness;
 	props.max_brightness = pdata->max_brightness;
 	props.scale = BACKLIGHT_SCALE_LINEAR;
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-02-20 15:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-20 15:30 [PATCH 0/4] Ensure all backlight drivers zero the properties structure Daniel Thompson
2024-02-20 15:30 ` [PATCH 1/4] backlight: da9052: Fully initialize backlight_properties during probe Daniel Thompson
2024-02-20 15:30 ` [PATCH 2/4] backlight: lm3639: " Daniel Thompson
2024-02-20 15:30 ` [PATCH 3/4] backlight: lp8788: " Daniel Thompson
2024-02-20 15:30 ` [PATCH 4/4] backlight: mp3309c: " Daniel Thompson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.