Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1539411 > unrolled thread

[PATCH 0/4] staging-greybus: Fine-tuning for four functions

Started bySF Markus Elfring <elfring@users.sourceforge.net>
First post2016-12-09 15:40 +0100
Last post2016-12-09 16:00 +0100
Articles 5 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/4] staging-greybus: Fine-tuning for four functions SF Markus Elfring <elfring@users.sourceforge.net> - 2016-12-09 15:40 +0100
    [PATCH 3/4] staging: greybus: light: Check return value of a  kstrndup() call in gb_lights_light_config() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-12-09 15:40 +0100
    [PATCH 2/4] staging: greybus: light: Use kcalloc() in two functions SF Markus Elfring <elfring@users.sourceforge.net> - 2016-12-09 15:40 +0100
    [PATCH 4/4] staging: greybus: power_supply: Use kcalloc() in  gb_power_supplies_setup() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-12-09 15:50 +0100
    Re: [PATCH 0/4] staging-greybus: Fine-tuning for four functions Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-12-09 16:00 +0100

#1539411 — [PATCH 0/4] staging-greybus: Fine-tuning for four functions

FromSF Markus Elfring <elfring@users.sourceforge.net>
Date2016-12-09 15:40 +0100
Subject[PATCH 0/4] staging-greybus: Fine-tuning for four functions
Message-ID<sMuv7-4qd-5@gated-at.bofh.it>
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Fri, 9 Dec 2016 15:25:35 +0100

A few update suggestions were taken into account
from static source code analysis.

Markus Elfring (4):
  One function call less in gb_camera_configure_streams() after error detection
  light: Use kcalloc() in two functions
  Check return value of a kstrndup() call in gb_lights_light_config()
  Use kcalloc() in gb_power_supplies_setup()

 drivers/staging/greybus/camera.c       | 16 +++++++++-------
 drivers/staging/greybus/light.c        | 12 ++++++++----
 drivers/staging/greybus/power_supply.c |  7 +++----
 3 files changed, 20 insertions(+), 15 deletions(-)

-- 
2.11.0

[toc] | [next] | [standalone]


#1539413 — [PATCH 3/4] staging: greybus: light: Check return value of a kstrndup() call in gb_lights_light_config()

FromSF Markus Elfring <elfring@users.sourceforge.net>
Date2016-12-09 15:40 +0100
Subject[PATCH 3/4] staging: greybus: light: Check return value of a kstrndup() call in gb_lights_light_config()
Message-ID<sMuv7-4qd-13@gated-at.bofh.it>
In reply to#1539411
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Fri, 9 Dec 2016 14:36:16 +0100

A return value was not checked after a call of the function "kstrndup".
This issue was detected by using the Coccinelle software.

Add a bit of exception handling.

Fixes: 2870b52bae4c81823ffcb3ed2b0626fb39d64f48 ("greybus: lights: add lights implementation")

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/staging/greybus/light.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/staging/greybus/light.c b/drivers/staging/greybus/light.c
index 27bfc20eb9a5..c9c377f40f56 100644
--- a/drivers/staging/greybus/light.c
+++ b/drivers/staging/greybus/light.c
@@ -1030,6 +1030,9 @@ static int gb_lights_light_config(struct gb_lights *glights, u8 id)
 
 	light->channels_count = conf.channel_count;
 	light->name = kstrndup(conf.name, NAMES_MAX, GFP_KERNEL);
+	if (!light->name)
+		return -ENOMEM;
+
 	light->channels = kcalloc(light->channels_count,
 				  sizeof(*light->channels),
 				  GFP_KERNEL);
-- 
2.11.0

[toc] | [prev] | [next] | [standalone]


#1539414 — [PATCH 2/4] staging: greybus: light: Use kcalloc() in two functions

FromSF Markus Elfring <elfring@users.sourceforge.net>
Date2016-12-09 15:40 +0100
Subject[PATCH 2/4] staging: greybus: light: Use kcalloc() in two functions
Message-ID<sMuv7-4qd-19@gated-at.bofh.it>
In reply to#1539411
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Fri, 9 Dec 2016 13:46:25 +0100

* Multiplications for the size determination of memory allocations
  indicated that array data structures should be processed.
  Thus use the corresponding function "kcalloc".

  This issue was detected by using the Coccinelle software.

* Replace the specification of data structures by pointer dereferences
  to make the corresponding size determination a bit safer according to
  the Linux coding style convention.

Fixes: 2870b52bae4c81823ffcb3ed2b0626fb39d64f48 ("greybus: lights: add lights implementation")

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/staging/greybus/light.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/greybus/light.c b/drivers/staging/greybus/light.c
index 8dffd8a7e762..27bfc20eb9a5 100644
--- a/drivers/staging/greybus/light.c
+++ b/drivers/staging/greybus/light.c
@@ -1030,9 +1030,9 @@ static int gb_lights_light_config(struct gb_lights *glights, u8 id)
 
 	light->channels_count = conf.channel_count;
 	light->name = kstrndup(conf.name, NAMES_MAX, GFP_KERNEL);
-
-	light->channels = kzalloc(light->channels_count *
-				  sizeof(struct gb_channel), GFP_KERNEL);
+	light->channels = kcalloc(light->channels_count,
+				  sizeof(*light->channels),
+				  GFP_KERNEL);
 	if (!light->channels)
 		return -ENOMEM;
 
@@ -1168,8 +1168,9 @@ static int gb_lights_create_all(struct gb_lights *glights)
 	if (ret < 0)
 		goto out;
 
-	glights->lights = kzalloc(glights->lights_count *
-				  sizeof(struct gb_light), GFP_KERNEL);
+	glights->lights = kcalloc(glights->lights_count,
+				  sizeof(*glights->lights),
+				  GFP_KERNEL);
 	if (!glights->lights) {
 		ret = -ENOMEM;
 		goto out;
-- 
2.11.0

[toc] | [prev] | [next] | [standalone]


#1539419 — [PATCH 4/4] staging: greybus: power_supply: Use kcalloc() in gb_power_supplies_setup()

FromSF Markus Elfring <elfring@users.sourceforge.net>
Date2016-12-09 15:50 +0100
Subject[PATCH 4/4] staging: greybus: power_supply: Use kcalloc() in gb_power_supplies_setup()
Message-ID<sMuEO-4tz-15@gated-at.bofh.it>
In reply to#1539411
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Fri, 9 Dec 2016 15:04:24 +0100

* A multiplication for the size determination of a memory allocation
  indicated that an array data structure should be processed.
  Thus use the corresponding function "kcalloc".

  This issue was detected by using the Coccinelle software.

* Replace the specification of a data structure by a pointer dereference
  to make the corresponding size determination a bit safer according to
  the Linux coding style convention.

Fixes: ffe2e2487a388cf01ec44439346363aa8d654cd4 ("greybus: power_supply: rework and operation changes")

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/staging/greybus/power_supply.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/greybus/power_supply.c b/drivers/staging/greybus/power_supply.c
index e85c988b7034..19080c7f1491 100644
--- a/drivers/staging/greybus/power_supply.c
+++ b/drivers/staging/greybus/power_supply.c
@@ -944,10 +944,9 @@ static int gb_power_supplies_setup(struct gb_power_supplies *supplies)
 	if (ret < 0)
 		goto out;
 
-	supplies->supply = kzalloc(supplies->supplies_count *
-				     sizeof(struct gb_power_supply),
-				     GFP_KERNEL);
-
+	supplies->supply = kcalloc(supplies->supplies_count,
+				   sizeof(*supplies->supply),
+				   GFP_KERNEL);
 	if (!supplies->supply) {
 		ret = -ENOMEM;
 		goto out;
-- 
2.11.0

[toc] | [prev] | [next] | [standalone]


#1539424

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2016-12-09 16:00 +0100
Message-ID<sMuOu-4x7-19@gated-at.bofh.it>
In reply to#1539411
On Fri, Dec 09, 2016 at 03:32:38PM +0100, SF Markus Elfring wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Fri, 9 Dec 2016 15:25:35 +0100
> 
> A few update suggestions were taken into account
> from static source code analysis.

Again, nope, sorry, not going to even look at these...

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web