linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 07/12] power: Replace strncmp with str_has_prefix
@ 2019-07-29 15:14 Chuhong Yuan
  2019-07-29 19:15 ` Pavel Machek
  0 siblings, 1 reply; 3+ messages in thread
From: Chuhong Yuan @ 2019-07-29 15:14 UTC (permalink / raw)
  Cc: Rafael J . Wysocki, Pavel Machek, Len Brown, linux-pm,
	linux-kernel, Chuhong Yuan

strncmp(str, const, len) is error-prone.
We had better use newly introduced
str_has_prefix() instead of it.

Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
---
 kernel/power/hibernate.c | 8 ++++----
 kernel/power/main.c      | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
index cd7434e6000d..49d4bfdb2b67 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
@@ -1188,15 +1188,15 @@ static int __init resume_offset_setup(char *str)
 
 static int __init hibernate_setup(char *str)
 {
-	if (!strncmp(str, "noresume", 8)) {
+	if (str_has_prefix(str, "noresume")) {
 		noresume = 1;
-	} else if (!strncmp(str, "nocompress", 10)) {
+	} else if (str_has_prefix(str, "nocompress")) {
 		nocompress = 1;
-	} else if (!strncmp(str, "no", 2)) {
+	} else if (str_has_prefix(str, "no")) {
 		noresume = 1;
 		nohibernate = 1;
 	} else if (IS_ENABLED(CONFIG_STRICT_KERNEL_RWX)
-		   && !strncmp(str, "protect_image", 13)) {
+		   && str_has_prefix(str, "protect_image")) {
 		enable_restore_image_protection();
 	}
 	return 1;
diff --git a/kernel/power/main.c b/kernel/power/main.c
index bdbd605c4215..5e5f64bb3a43 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -495,7 +495,7 @@ static suspend_state_t decode_state(const char *buf, size_t n)
 	len = p ? p - buf : n;
 
 	/* Check hibernation first. */
-	if (len == 4 && !strncmp(buf, "disk", len))
+	if (len == 4 && str_has_prefix(buf, "disk"))
 		return PM_SUSPEND_MAX;
 
 #ifdef CONFIG_SUSPEND
-- 
2.20.1


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

* Re: [PATCH 07/12] power: Replace strncmp with str_has_prefix
  2019-07-29 15:14 [PATCH 07/12] power: Replace strncmp with str_has_prefix Chuhong Yuan
@ 2019-07-29 19:15 ` Pavel Machek
  2019-08-01  8:07   ` Chuhong Yuan
  0 siblings, 1 reply; 3+ messages in thread
From: Pavel Machek @ 2019-07-29 19:15 UTC (permalink / raw)
  To: Chuhong Yuan; +Cc: Rafael J . Wysocki, Len Brown, linux-pm, linux-kernel

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

On Mon 2019-07-29 23:14:54, Chuhong Yuan wrote:
> strncmp(str, const, len) is error-prone.
> We had better use newly introduced
> str_has_prefix() instead of it.
> 
> Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
> ---
>  kernel/power/hibernate.c | 8 ++++----
>  kernel/power/main.c      | 2 +-
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
> index cd7434e6000d..49d4bfdb2b67 100644
> --- a/kernel/power/hibernate.c
> +++ b/kernel/power/hibernate.c
> @@ -1188,15 +1188,15 @@ static int __init resume_offset_setup(char *str)
>  
>  static int __init hibernate_setup(char *str)
>  {
> -	if (!strncmp(str, "noresume", 8)) {
> +	if (str_has_prefix(str, "noresume")) {
>  		noresume = 1;
> -	} else if (!strncmp(str, "nocompress", 10)) {
> +	} else if (str_has_prefix(str, "nocompress")) {
>  		nocompress = 1;

Ok, old code is bad, too... but this makes the error visible. We do
not want "noresumenextmonday" to set noresume = 1, right?

								Pavel
								
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

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

* Re: [PATCH 07/12] power: Replace strncmp with str_has_prefix
  2019-07-29 19:15 ` Pavel Machek
@ 2019-08-01  8:07   ` Chuhong Yuan
  0 siblings, 0 replies; 3+ messages in thread
From: Chuhong Yuan @ 2019-08-01  8:07 UTC (permalink / raw)
  To: Pavel Machek; +Cc: Rafael J . Wysocki, Len Brown, linux-pm, LKML

Pavel Machek <pavel@ucw.cz> 于2019年7月30日周二 上午3:15写道:
>
> On Mon 2019-07-29 23:14:54, Chuhong Yuan wrote:
> > strncmp(str, const, len) is error-prone.
> > We had better use newly introduced
> > str_has_prefix() instead of it.
> >
> > Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
> > ---
> >  kernel/power/hibernate.c | 8 ++++----
> >  kernel/power/main.c      | 2 +-
> >  2 files changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
> > index cd7434e6000d..49d4bfdb2b67 100644
> > --- a/kernel/power/hibernate.c
> > +++ b/kernel/power/hibernate.c
> > @@ -1188,15 +1188,15 @@ static int __init resume_offset_setup(char *str)
> >
> >  static int __init hibernate_setup(char *str)
> >  {
> > -     if (!strncmp(str, "noresume", 8)) {
> > +     if (str_has_prefix(str, "noresume")) {
> >               noresume = 1;
> > -     } else if (!strncmp(str, "nocompress", 10)) {
> > +     } else if (str_has_prefix(str, "nocompress")) {
> >               nocompress = 1;
>
> Ok, old code is bad, too... but this makes the error visible. We do
> not want "noresumenextmonday" to set noresume = 1, right?
>

I am not clear about the semantic of the code.
Therefore, what is the right way to fix this error?

>                                                                 Pavel
>
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

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

end of thread, other threads:[~2019-08-01  8:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-29 15:14 [PATCH 07/12] power: Replace strncmp with str_has_prefix Chuhong Yuan
2019-07-29 19:15 ` Pavel Machek
2019-08-01  8:07   ` Chuhong Yuan

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).