2019-08-09 07:21:20

by Chuhong Yuan

[permalink] [raw]
Subject: [PATCH v4 0/8] Replace strncmp with str_has_prefix

The commit 72921427d46b
("string.h: Add str_has_prefix() helper function")
introduced str_has_prefix() to substitute error-prone
strncmp(str, const, len).

strncmp(str, const, len) is easy to have error in len
because of counting error or sizeof(const) without - 1.

These patches replace such pattern with str_has_prefix()
to avoid hard coded constant length and sizeof.

Besides, str_has_prefix() returns the length of prefix
when the comparison returns true.
We can use this return value to substitute some hard-coding.

Changelog:

v1 -> v2:
- Revise the description.
- Use the return value of str_has_prefix() to eliminate
hard coding.
- Remove possible false positives and add newly detected
one in upstream.

v2 -> v3:
- Revise the description.
- Remove else uses in printk.c.

v3 -> v4:
- Eliminate assignments in if conditions.

Chuhong Yuan (8):
dma: debug: Replace strncmp with str_has_prefix
module: Replace strncmp with str_has_prefix
PM/sleep: Replace strncmp with str_has_prefix
printk: Replace strncmp with str_has_prefix
reboot: Replace strncmp with str_has_prefix
sched: Replace strncmp with str_has_prefix
userns: Replace strncmp with str_has_prefix
watchdog: Replace strncmp with str_has_prefix

kernel/dma/debug.c | 2 +-
kernel/module.c | 2 +-
kernel/power/main.c | 2 +-
kernel/printk/braille.c | 15 +++++++++++----
kernel/printk/printk.c | 22 ++++++++++++++++------
kernel/reboot.c | 7 +++++--
kernel/sched/debug.c | 6 ++++--
kernel/sched/isolation.c | 11 +++++++----
kernel/user_namespace.c | 20 ++++++++++++--------
kernel/watchdog.c | 8 ++++----
10 files changed, 62 insertions(+), 33 deletions(-)

--
2.20.1