linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] test_power: add missing newlines when printing parameters by sysfs
@ 2020-09-04  6:09 Xiongfeng Wang
  2020-10-03 21:23 ` Sebastian Reichel
  0 siblings, 1 reply; 10+ messages in thread
From: Xiongfeng Wang @ 2020-09-04  6:09 UTC (permalink / raw)
  To: sre; +Cc: linux-pm, linux-kernel, wangxiongfeng2

When I cat some module parameters by sysfs, it displays as follows.
It's better to add a newline for easy reading.

root@syzkaller:~# cd /sys/module/test_power/parameters/
root@syzkaller:/sys/module/test_power/parameters# cat ac_online
onroot@syzkaller:/sys/module/test_power/parameters# cat battery_present
trueroot@syzkaller:/sys/module/test_power/parameters# cat battery_health
goodroot@syzkaller:/sys/module/test_power/parameters# cat battery_status
dischargingroot@syzkaller:/sys/module/test_power/parameters# cat battery_technology
LIONroot@syzkaller:/sys/module/test_power/parameters# cat usb_online
onroot@syzkaller:/sys/module/test_power/parameters#

Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com>
---
 drivers/power/supply/test_power.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/power/supply/test_power.c b/drivers/power/supply/test_power.c
index 04acd76..4895ee5 100644
--- a/drivers/power/supply/test_power.c
+++ b/drivers/power/supply/test_power.c
@@ -353,6 +353,7 @@ 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);
 }
 
@@ -366,6 +367,7 @@ 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);
 }
 
@@ -380,6 +382,7 @@ 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);
 }
 
@@ -394,6 +397,7 @@ 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);
 }
 
@@ -409,6 +413,7 @@ 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);
 }
 
@@ -426,6 +431,7 @@ static int param_get_battery_technology(char *buffer,
 {
 	strcpy(buffer,
 		map_get_key(map_technology, battery_technology, "unknown"));
+	strcat(buffer, "\n");
 	return strlen(buffer);
 }
 
-- 
1.7.12.4


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

* Re: [PATCH] test_power: add missing newlines when printing parameters by sysfs
  2020-09-04  6:09 [PATCH] test_power: add missing newlines when printing parameters by sysfs Xiongfeng Wang
@ 2020-10-03 21:23 ` Sebastian Reichel
  2020-10-03 21:43   ` Joe Perches
  0 siblings, 1 reply; 10+ messages in thread
From: Sebastian Reichel @ 2020-10-03 21:23 UTC (permalink / raw)
  To: Xiongfeng Wang; +Cc: linux-pm, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2952 bytes --]

Hi,

On Fri, Sep 04, 2020 at 02:09:58PM +0800, Xiongfeng Wang wrote:
> When I cat some module parameters by sysfs, it displays as follows.
> It's better to add a newline for easy reading.
> 
> root@syzkaller:~# cd /sys/module/test_power/parameters/
> root@syzkaller:/sys/module/test_power/parameters# cat ac_online
> onroot@syzkaller:/sys/module/test_power/parameters# cat battery_present
> trueroot@syzkaller:/sys/module/test_power/parameters# cat battery_health
> goodroot@syzkaller:/sys/module/test_power/parameters# cat battery_status
> dischargingroot@syzkaller:/sys/module/test_power/parameters# cat battery_technology
> LIONroot@syzkaller:/sys/module/test_power/parameters# cat usb_online
> onroot@syzkaller:/sys/module/test_power/parameters#
> 
> Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com>
> ---

Thanks, queued.

-- Sebastian

>  drivers/power/supply/test_power.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/power/supply/test_power.c b/drivers/power/supply/test_power.c
> index 04acd76..4895ee5 100644
> --- a/drivers/power/supply/test_power.c
> +++ b/drivers/power/supply/test_power.c
> @@ -353,6 +353,7 @@ 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);
>  }
>  
> @@ -366,6 +367,7 @@ 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);
>  }
>  
> @@ -380,6 +382,7 @@ 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);
>  }
>  
> @@ -394,6 +397,7 @@ 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);
>  }
>  
> @@ -409,6 +413,7 @@ 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);
>  }
>  
> @@ -426,6 +431,7 @@ static int param_get_battery_technology(char *buffer,
>  {
>  	strcpy(buffer,
>  		map_get_key(map_technology, battery_technology, "unknown"));
> +	strcat(buffer, "\n");
>  	return strlen(buffer);
>  }
>  
> -- 
> 1.7.12.4
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH] test_power: add missing newlines when printing parameters by sysfs
  2020-10-03 21:23 ` Sebastian Reichel
@ 2020-10-03 21:43   ` Joe Perches
  2020-10-03 21:50     ` Sebastian Reichel
  0 siblings, 1 reply; 10+ messages in thread
From: Joe Perches @ 2020-10-03 21:43 UTC (permalink / raw)
  To: Sebastian Reichel, Xiongfeng Wang; +Cc: linux-pm, linux-kernel

On Sat, 2020-10-03 at 23:23 +0200, Sebastian Reichel wrote:
> Hi,
> 
> On Fri, Sep 04, 2020 at 02:09:58PM +0800, Xiongfeng Wang wrote:
> > When I cat some module parameters by sysfs, it displays as follows.
> > It's better to add a newline for easy reading.
[]
> > root@syzkaller:~# cd /sys/module/test_power/parameters/
> > root@syzkaller:/sys/module/test_power/parameters# cat ac_online
> > onroot@syzkaller:/sys/module/test_power/parameters# cat battery_present
> > trueroot@syzkaller:/sys/module/test_power/parameters# cat battery_health
> > goodroot@syzkaller:/sys/module/test_power/parameters# cat battery_status
> > dischargingroot@syzkaller:/sys/module/test_power/parameters# cat battery_technology
> > LIONroot@syzkaller:/sys/module/test_power/parameters# cat usb_online
> > onroot@syzkaller:/sys/module/test_power/parameters#
> > 
> > Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com>
> > ---
> 
> Thanks, queued.
[]
> > diff --git a/drivers/power/supply/test_power.c b/drivers/power/supply/test_power.c
[]
> > @@ -353,6 +353,7 @@ 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);
> >  }

All of these would be better as sprintf(buffer, "%s\n", <whatever>)
so the output is scanned just once instead of scanned three times.



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

* Re: [PATCH] test_power: add missing newlines when printing parameters by sysfs
  2020-10-03 21:43   ` Joe Perches
@ 2020-10-03 21:50     ` Sebastian Reichel
  2020-10-03 21:55       ` Joe Perches
  0 siblings, 1 reply; 10+ messages in thread
From: Sebastian Reichel @ 2020-10-03 21:50 UTC (permalink / raw)
  To: Joe Perches; +Cc: Xiongfeng Wang, linux-pm, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1704 bytes --]

Hi,

On Sat, Oct 03, 2020 at 02:43:09PM -0700, Joe Perches wrote:
> On Sat, 2020-10-03 at 23:23 +0200, Sebastian Reichel wrote:
> > On Fri, Sep 04, 2020 at 02:09:58PM +0800, Xiongfeng Wang wrote:
> > > When I cat some module parameters by sysfs, it displays as follows.
> > > It's better to add a newline for easy reading.
> []
> > > root@syzkaller:~# cd /sys/module/test_power/parameters/
> > > root@syzkaller:/sys/module/test_power/parameters# cat ac_online
> > > onroot@syzkaller:/sys/module/test_power/parameters# cat battery_present
> > > trueroot@syzkaller:/sys/module/test_power/parameters# cat battery_health
> > > goodroot@syzkaller:/sys/module/test_power/parameters# cat battery_status
> > > dischargingroot@syzkaller:/sys/module/test_power/parameters# cat battery_technology
> > > LIONroot@syzkaller:/sys/module/test_power/parameters# cat usb_online
> > > onroot@syzkaller:/sys/module/test_power/parameters#
> > > 
> > > Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com>
> > > ---
> > 
> > Thanks, queued.
> []
> > > diff --git a/drivers/power/supply/test_power.c b/drivers/power/supply/test_power.c
> []
> > > @@ -353,6 +353,7 @@ 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);
> > >  }
> 
> All of these would be better as sprintf(buffer, "%s\n", <whatever>)
> so the output is scanned just once instead of scanned three times.

Agreed. Anybody willing to send a patch? :)

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH] test_power: add missing newlines when printing parameters by sysfs
  2020-10-03 21:50     ` Sebastian Reichel
@ 2020-10-03 21:55       ` Joe Perches
  2020-10-04 22:16         ` Sebastian Reichel
  0 siblings, 1 reply; 10+ messages in thread
From: Joe Perches @ 2020-10-03 21:55 UTC (permalink / raw)
  To: Sebastian Reichel; +Cc: Xiongfeng Wang, linux-pm, linux-kernel

On Sat, 2020-10-03 at 23:50 +0200, Sebastian Reichel wrote:
> Hi,
> 
> On Sat, Oct 03, 2020 at 02:43:09PM -0700, Joe Perches wrote:
> > On Sat, 2020-10-03 at 23:23 +0200, Sebastian Reichel wrote:
> > > On Fri, Sep 04, 2020 at 02:09:58PM +0800, Xiongfeng Wang wrote:
> > > > When I cat some module parameters by sysfs, it displays as follows.
> > > > It's better to add a newline for easy reading.
> > []
> > > > root@syzkaller:~# cd /sys/module/test_power/parameters/
> > > > root@syzkaller:/sys/module/test_power/parameters# cat ac_online
> > > > onroot@syzkaller:/sys/module/test_power/parameters# cat battery_present
> > > > trueroot@syzkaller:/sys/module/test_power/parameters# cat battery_health
> > > > goodroot@syzkaller:/sys/module/test_power/parameters# cat battery_status
> > > > dischargingroot@syzkaller:/sys/module/test_power/parameters# cat battery_technology
> > > > LIONroot@syzkaller:/sys/module/test_power/parameters# cat usb_online
> > > > onroot@syzkaller:/sys/module/test_power/parameters#
> > > > 
> > > > Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com>
> > > > ---
> > > 
> > > Thanks, queued.
> > []
> > > > diff --git a/drivers/power/supply/test_power.c b/drivers/power/supply/test_power.c
> > []
> > > > @@ -353,6 +353,7 @@ 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);
> > > >  }
> > 
> > All of these would be better as sprintf(buffer, "%s\n", <whatever>)
> > so the output is scanned just once instead of scanned three times.
> 
> Agreed. Anybody willing to send a patch? :)

Well, you _are_ the maintainer. Why not you?



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

* Re: [PATCH] test_power: add missing newlines when printing parameters by sysfs
  2020-10-03 21:55       ` Joe Perches
@ 2020-10-04 22:16         ` Sebastian Reichel
  2020-10-05  1:30           ` Harley A.W. Lorenzo
  0 siblings, 1 reply; 10+ messages in thread
From: Sebastian Reichel @ 2020-10-04 22:16 UTC (permalink / raw)
  To: Joe Perches; +Cc: Xiongfeng Wang, linux-pm, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2396 bytes --]

Hi,

On Sat, Oct 03, 2020 at 02:55:41PM -0700, Joe Perches wrote:
> On Sat, 2020-10-03 at 23:50 +0200, Sebastian Reichel wrote:
> > Hi,
> > 
> > On Sat, Oct 03, 2020 at 02:43:09PM -0700, Joe Perches wrote:
> > > On Sat, 2020-10-03 at 23:23 +0200, Sebastian Reichel wrote:
> > > > On Fri, Sep 04, 2020 at 02:09:58PM +0800, Xiongfeng Wang wrote:
> > > > > When I cat some module parameters by sysfs, it displays as follows.
> > > > > It's better to add a newline for easy reading.
> > > []
> > > > > root@syzkaller:~# cd /sys/module/test_power/parameters/
> > > > > root@syzkaller:/sys/module/test_power/parameters# cat ac_online
> > > > > onroot@syzkaller:/sys/module/test_power/parameters# cat battery_present
> > > > > trueroot@syzkaller:/sys/module/test_power/parameters# cat battery_health
> > > > > goodroot@syzkaller:/sys/module/test_power/parameters# cat battery_status
> > > > > dischargingroot@syzkaller:/sys/module/test_power/parameters# cat battery_technology
> > > > > LIONroot@syzkaller:/sys/module/test_power/parameters# cat usb_online
> > > > > onroot@syzkaller:/sys/module/test_power/parameters#
> > > > > 
> > > > > Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com>
> > > > > ---
> > > > 
> > > > Thanks, queued.
> > > []
> > > > > diff --git a/drivers/power/supply/test_power.c b/drivers/power/supply/test_power.c
> > > []
> > > > > @@ -353,6 +353,7 @@ 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);
> > > > >  }
> > > 
> > > All of these would be better as sprintf(buffer, "%s\n", <whatever>)
> > > so the output is scanned just once instead of scanned three times.
> > 
> > Agreed. Anybody willing to send a patch? :)
> 
> Well, you _are_ the maintainer. Why not you?

I prefer to have patches reviewed and when I sent out patches for
my own subsystem I often do not get any reviews at all. From my
experience people often like to increase their patch count anyways
(e.g. because their employer wanting to see high patch count), so
asking others to write the patch is an easy workaround for me. I
then only do the leftovers.

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH] test_power: add missing newlines when printing parameters by sysfs
  2020-10-04 22:16         ` Sebastian Reichel
@ 2020-10-05  1:30           ` Harley A.W. Lorenzo
  2020-10-05  4:19             ` Joe Perches
  0 siblings, 1 reply; 10+ messages in thread
From: Harley A.W. Lorenzo @ 2020-10-05  1:30 UTC (permalink / raw)
  To: Sebastian Reichel; +Cc: linux-pm, linux-kernel, wangxiongfeng2, joe

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 <hl1998@protonmail.com>
Suggested-by: Joe Perches <joe@perches.com>
---
 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


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

* Re: [PATCH] test_power: add missing newlines when printing parameters by sysfs
  2020-10-05  1:30           ` Harley A.W. Lorenzo
@ 2020-10-05  4:19             ` Joe Perches
  2020-10-05  4:44               ` Harley A.W. Lorenzo
  0 siblings, 1 reply; 10+ messages in thread
From: Joe Perches @ 2020-10-05  4:19 UTC (permalink / raw)
  To: Harley A.W. Lorenzo, Sebastian Reichel
  Cc: linux-pm, linux-kernel, wangxiongfeng2

On Mon, 2020-10-05 at 01:30 +0000, Harley A.W. Lorenzo wrote:
> 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 <hl1998@protonmail.com>
> Suggested-by: Joe Perches <joe@perches.com>

I did not suggest this.

> diff --git 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);
>  }

No temporary is necessary nor is strlen as
that's the same as the return from sprintf.

All of these should be similar to:

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



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

* Re: [PATCH] test_power: add missing newlines when printing parameters by sysfs
  2020-10-05  4:19             ` Joe Perches
@ 2020-10-05  4:44               ` Harley A.W. Lorenzo
  2020-10-08 23:07                 ` Sebastian Reichel
  0 siblings, 1 reply; 10+ messages in thread
From: Harley A.W. Lorenzo @ 2020-10-05  4:44 UTC (permalink / raw)
  To: Joe Perches, Sebastian Reichel; +Cc: linux-pm, linux-kernel, wangxiongfeng2

On Monday, October 5, 2020 12:19 AM, Joe Perches <joe@perches.com> 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 <hl1998@protonmail.com>
Suggested-by: Joe Perches <joe@perches.com>
---
 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

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

* Re: [PATCH] test_power: add missing newlines when printing parameters by sysfs
  2020-10-05  4:44               ` Harley A.W. Lorenzo
@ 2020-10-08 23:07                 ` Sebastian Reichel
  0 siblings, 0 replies; 10+ messages in thread
From: Sebastian Reichel @ 2020-10-08 23:07 UTC (permalink / raw)
  To: Harley A.W. Lorenzo; +Cc: Joe Perches, linux-pm, linux-kernel, wangxiongfeng2

[-- Attachment #1: Type: text/plain, Size: 3796 bytes --]

Hi,

On Mon, Oct 05, 2020 at 04:44:17AM +0000, Harley A.W. Lorenzo wrote:
> On Monday, October 5, 2020 12:19 AM, Joe Perches <joe@perches.com> 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 <hl1998@protonmail.com>
> Suggested-by: Joe Perches <joe@perches.com>
> ---

Thanks, I fixed the commit message and applied this.

-- Sebastian

>  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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

end of thread, other threads:[~2020-10-08 23:07 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-04  6:09 [PATCH] test_power: add missing newlines when printing parameters by sysfs Xiongfeng Wang
2020-10-03 21:23 ` Sebastian Reichel
2020-10-03 21:43   ` Joe Perches
2020-10-03 21:50     ` Sebastian Reichel
2020-10-03 21:55       ` Joe Perches
2020-10-04 22:16         ` Sebastian Reichel
2020-10-05  1:30           ` Harley A.W. Lorenzo
2020-10-05  4:19             ` Joe Perches
2020-10-05  4:44               ` Harley A.W. Lorenzo
2020-10-08 23:07                 ` Sebastian Reichel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).