FAILED: patch "[PATCH] leds: lm3697: Fix out-of-bound access" failed to apply to 5.9-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 5.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 98d278ca00bd8f62c8bc98bd9e65372d16eb6956 Mon Sep 17 00:00:00 2001
From: Gabriel David <[email protected]>
Date: Fri, 2 Oct 2020 18:27:00 -0400
Subject: [PATCH] leds: lm3697: Fix out-of-bound access
If both LED banks aren't used in device tree, an out-of-bounds condition in lm3697_init occurs because of the for loop assuming that all the banks are used. Fix it by adding a variable that contains the number of used banks.
drivers/leds/leds-lm3697.c +5 -3
@@ -78,6 +78,7 @@ struct lm3697 {struct mutex lock;int bank_cfg; +int num_banks;struct lm3697_led leds[]; };
@@ -180,7 +181,7 @@ static int lm3697_init(struct lm3697 *priv)if (ret)dev_err (dev,"Cannot write OUTPUT config\n" ); -for (i =0 ; i <LM3697_MAX_CONTROL_BANKS ; i++) { +for (i =0 ; i < priv->num_banks; i++) { led = &priv->leds[i]; ret =ti_lmu_common_set_ramp (&led->lmu_data);if (ret)
@@ -301,8 +302,8 @@ static int lm3697_probe(struct i2c_client *client,int ret; count =device_get_child_node_count (dev); -if (!count) { -dev_err (dev,"LEDs are not defined in device tree!" ); +if (!count || count >LM3697_MAX_CONTROL_BANKS ) { +dev_err (dev,"Strange device tree!" );return -ENODEV ; }
@@ -315,6 +316,7 @@ static int lm3697_probe(struct i2c_client *client, led->client = client; led->dev = dev; + led->num_banks = count; led->regmap =devm_regmap_init_i2c (client, &lm3697_regmap_config);if (IS_ERR (led->regmap)) { ret =PTR_ERR (led->regmap);
Hi Greg,
Quoted 5 lines · On Tue, Nov 03, 2020 at 12:58:26PM +0100, [email protected] wrote:
The patch below does not apply to the 5.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Here is the backport. Please consider for 5.9-stable.
--
Regards
Sudip
From cbaecee1e0a2aee549ecbe7f2f66a767794faef8 Mon Sep 17 00:00:00 2001
From: Gabriel David <[email protected]>
Date: Fri, 2 Oct 2020 18:27:00 -0400
Subject: [PATCH] leds: lm3697: Fix out-of-bound access
commit 98d278ca00bd8f62c8bc98bd9e65372d16eb6956 upstream
If both LED banks aren't used in device tree, an out-of-bounds condition in lm3697_init occurs because of the for loop assuming that all the banks are used. Fix it by adding a variable that contains the number of used banks.
--- drivers/leds/leds-lm3697.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
drivers/leds/leds-lm3697.c +5 -3
@@ -78,6 +78,7 @@ struct lm3697 {struct mutex lock;int bank_cfg; +int num_banks;struct lm3697_led leds[]; };
@@ -180,7 +181,7 @@ static int lm3697_init(struct lm3697 *priv)if (ret)dev_err (&priv->client->dev,"Cannot write OUTPUT config\n" ); -for (i =0 ; i <LM3697_MAX_CONTROL_BANKS ; i++) { +for (i =0 ; i < priv->num_banks; i++) { led = &priv->leds[i]; ret =ti_lmu_common_set_ramp (&led->lmu_data);if (ret)
@@ -307,8 +308,8 @@ static int lm3697_probe(struct i2c_client *client,int ret; count =device_get_child_node_count (&client->dev); -if (!count) { -dev_err (&client->dev,"LEDs are not defined in device tree!" ); +if (!count || count >LM3697_MAX_CONTROL_BANKS ) { +dev_err (&client->dev,"Strange device tree!" );return -ENODEV ; }
@@ -322,6 +323,7 @@ static int lm3697_probe(struct i2c_client *client, led->client = client; led->dev = &client->dev; + led->num_banks = count; led->regmap =devm_regmap_init_i2c (client, &lm3697_regmap_config);if (IS_ERR (led->regmap)) { ret =PTR_ERR (led->regmap);
Signature · 1 line
2.11.0
Greg KH
maintainerQuoted 10 lines · Sudip Mukherjee
Hi Greg,
Quoted 5 lines · On Tue, Nov 03, 2020 at 12:58:26PM +0100, [email protected] wrote:
The patch below does not apply to the 5.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.Here is the backport. Please consider for 5.9-stable.
Now applied, thanks.
greg k-h
Quoted 5 lines · Greg KH
Quoted 4 lines · Sudip Mukherjee
Hi Greg,
Quoted 1 line · On Tue, Nov 03, 2020 at 12:58:26PM +0100, [email protected] wrote:
Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
The patch below does not apply to the 5.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.Here is the backport. Please consider for 5.9-stable.
Now applied, thanks.
Note that this is theoretical problem as device trees triggering it are not circulating in the wild.
Best regards,
Pavel
Signature · 1 line
http://www.livejournal.com/~pavelmachek