Re: [PATCH] usb: host: ehci-sched: avoid possible NULL dereference
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
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
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