Re: [PATCH] usb: host: ehci-sched: avoid possible NULL dereference

2020-10-05 Thread Harley A.W. Lorenzo
On Monday, October 5, 2020 5:31 PM, Sudip Mukherjee 
 wrote:

> find_tt() can return NULL or the error value in ERR_PTR() and
> dereferencing the return value without checking for the error can
> lead to a possible dereference of NULL pointer or ERR_PTR().

Looks fine to me. There is in fact no checks of the return value
before a dereference here, and this solves that.

Reviewed-by: Harley A.W. Lorenzo 

Re: [PATCH] test_power: add missing newlines when printing parameters by sysfs

2020-10-04 Thread Harley A.W. Lorenzo
On Monday, October 5, 2020 12:19 AM, Joe Perches  wrote:
> I did not suggest this.

My apologies. Revised patch (still diffing from Xiongfeng Wang) here.

[PATCH v2] test_power: revise parameter printing to use sprintf

Signed-off-by: Harley A.W. Lorenzo 
Suggested-by: Joe Perches 
---
 drivers/power/supply/test_power.c | 32 +--
 1 file changed, 13 insertions(+), 19 deletions(-)

diff --git a/drivers/power/supply/test_power.c 
b/drivers/power/supply/test_power.c
index 4895ee5e63a9..5f510ddc946d 100644
--- a/drivers/power/supply/test_power.c
+++ b/drivers/power/supply/test_power.c
@@ -352,9 +352,8 @@ static int param_set_ac_online(const char *key, const 
struct kernel_param *kp)

 static int param_get_ac_online(char *buffer, const struct kernel_param *kp)
 {
-   strcpy(buffer, map_get_key(map_ac_online, ac_online, "unknown"));
-   strcat(buffer, "\n");
-   return strlen(buffer);
+   return sprintf(buffer, "%s\n",
+   map_get_key(map_ac_online, ac_online, "unknown"));
 }

 static int param_set_usb_online(const char *key, const struct kernel_param *kp)
@@ -366,9 +365,8 @@ static int param_set_usb_online(const char *key, const 
struct kernel_param *kp)

 static int param_get_usb_online(char *buffer, const struct kernel_param *kp)
 {
-   strcpy(buffer, map_get_key(map_ac_online, usb_online, "unknown"));
-   strcat(buffer, "\n");
-   return strlen(buffer);
+   return sprintf(buffer, "%s\n",
+   map_get_key(map_ac_online, usb_online, "unknown"));
 }

 static int param_set_battery_status(const char *key,
@@ -381,9 +379,8 @@ static int param_set_battery_status(const char *key,

 static int param_get_battery_status(char *buffer, const struct kernel_param 
*kp)
 {
-   strcpy(buffer, map_get_key(map_status, battery_status, "unknown"));
-   strcat(buffer, "\n");
-   return strlen(buffer);
+   return sprintf(buffer, "%s\n",
+   map_get_key(map_ac_online, battery_status, "unknown"));
 }

 static int param_set_battery_health(const char *key,
@@ -396,9 +393,8 @@ static int param_set_battery_health(const char *key,

 static int param_get_battery_health(char *buffer, const struct kernel_param 
*kp)
 {
-   strcpy(buffer, map_get_key(map_health, battery_health, "unknown"));
-   strcat(buffer, "\n");
-   return strlen(buffer);
+   return sprintf(buffer, "%s\n",
+   map_get_key(map_ac_online, battery_health, "unknown"));
 }

 static int param_set_battery_present(const char *key,
@@ -412,9 +408,8 @@ static int param_set_battery_present(const char *key,
 static int param_get_battery_present(char *buffer,
const struct kernel_param *kp)
 {
-   strcpy(buffer, map_get_key(map_present, battery_present, "unknown"));
-   strcat(buffer, "\n");
-   return strlen(buffer);
+   return sprintf(buffer, "%s\n",
+   map_get_key(map_ac_online, battery_present, "unknown"));
 }

 static int param_set_battery_technology(const char *key,
@@ -429,10 +424,9 @@ static int param_set_battery_technology(const char *key,
 static int param_get_battery_technology(char *buffer,
const struct kernel_param *kp)
 {
-   strcpy(buffer,
-   map_get_key(map_technology, battery_technology, "unknown"));
-   strcat(buffer, "\n");
-   return strlen(buffer);
+   return sprintf(buffer, "%s\n",
+   map_get_key(map_ac_online, battery_technology,
+   "unknown"));
 }

 static int param_set_battery_capacity(const char *key,
--
2.28.0


Re: [PATCH] test_power: add missing newlines when printing parameters by sysfs

2020-10-04 Thread Harley A.W. Lorenzo
Here is the updated patch using sprintf, diffing from the original patch by 
Xiongfeng Wang.

[PATCH] test_power: revise parameter printing to use sprintf

Signed-off-by: Harley A.W. Lorenzo 
Suggested-by: Joe Perches 
---
 drivers/power/supply/test_power.c | 27 ++-
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/drivers/power/supply/test_power.c 
b/drivers/power/supply/test_power.c
index 4895ee5e63a9..fbb179a1b615 100644
--- a/drivers/power/supply/test_power.c
+++ b/drivers/power/supply/test_power.c
@@ -352,8 +352,8 @@ static int param_set_ac_online(const char *key, const 
struct kernel_param *kp)

 static int param_get_ac_online(char *buffer, const struct kernel_param *kp)
 {
-   strcpy(buffer, map_get_key(map_ac_online, ac_online, "unknown"));
-   strcat(buffer, "\n");
+   char const *out = map_get_key(map_ac_online, ac_online, "unknown");
+   sprintf(buffer, "%s\n", out);
return strlen(buffer);
 }

@@ -366,8 +366,8 @@ static int param_set_usb_online(const char *key, const 
struct kernel_param *kp)

 static int param_get_usb_online(char *buffer, const struct kernel_param *kp)
 {
-   strcpy(buffer, map_get_key(map_ac_online, usb_online, "unknown"));
-   strcat(buffer, "\n");
+   char const *out = map_get_key(map_ac_online, usb_online, "unknown");
+   sprintf(buffer, "%s\n", out);
return strlen(buffer);
 }

@@ -381,8 +381,8 @@ static int param_set_battery_status(const char *key,

 static int param_get_battery_status(char *buffer, const struct kernel_param 
*kp)
 {
-   strcpy(buffer, map_get_key(map_status, battery_status, "unknown"));
-   strcat(buffer, "\n");
+   char const *out = map_get_key(map_ac_online, battery_status, "unknown");
+   sprintf(buffer, "%s\n", out);
return strlen(buffer);
 }

@@ -396,8 +396,8 @@ static int param_set_battery_health(const char *key,

 static int param_get_battery_health(char *buffer, const struct kernel_param 
*kp)
 {
-   strcpy(buffer, map_get_key(map_health, battery_health, "unknown"));
-   strcat(buffer, "\n");
+   char const *out = map_get_key(map_ac_online, battery_health, "unknown");
+   sprintf(buffer, "%s\n", out);
return strlen(buffer);
 }

@@ -412,8 +412,9 @@ static int param_set_battery_present(const char *key,
 static int param_get_battery_present(char *buffer,
const struct kernel_param *kp)
 {
-   strcpy(buffer, map_get_key(map_present, battery_present, "unknown"));
-   strcat(buffer, "\n");
+   char const *out = map_get_key(map_ac_online, battery_present,
+   "unknown");
+   sprintf(buffer, "%s\n", out);
return strlen(buffer);
 }

@@ -429,9 +430,9 @@ static int param_set_battery_technology(const char *key,
 static int param_get_battery_technology(char *buffer,
const struct kernel_param *kp)
 {
-   strcpy(buffer,
-   map_get_key(map_technology, battery_technology, "unknown"));
-   strcat(buffer, "\n");
+   char const *out = map_get_key(map_ac_online, battery_technology,
+   "unknown");
+   sprintf(buffer, "%s\n", out);
return strlen(buffer);
 }

--
2.28.0