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

2020-10-08 Thread Sebastian Reichel
Hi,

On Mon, Oct 05, 2020 at 04:44:17AM +, Harley A.W. Lorenzo wrote:
> 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 
> ---

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


signature.asc
Description: PGP signature


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 Joe Perches
On Mon, 2020-10-05 at 01:30 +, 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 
> Suggested-by: Joe Perches 

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"));
}




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



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

2020-10-04 Thread Sebastian Reichel
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 
> > > > > ---
> > > > 
> > > > 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", )
> > > 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


signature.asc
Description: PGP signature


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

2020-10-03 Thread Joe Perches
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 
> > > > ---
> > > 
> > > 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", )
> > 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?




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

2020-10-03 Thread Sebastian Reichel
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 
> > > ---
> > 
> > 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", )
> so the output is scanned just once instead of scanned three times.

Agreed. Anybody willing to send a patch? :)

-- Sebastian


signature.asc
Description: PGP signature


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

2020-10-03 Thread Joe Perches
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 
> > ---
> 
> 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", )
so the output is scanned just once instead of scanned three times.




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

2020-10-03 Thread Sebastian Reichel
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 
> ---

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
> 


signature.asc
Description: PGP signature


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

2020-09-04 Thread Xiongfeng Wang
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 
---
 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