proc/bootconfig: Fix to use correct quotes for value
authorMasami Hiramatsu <mhiramat@kernel.org>
Tue, 16 Jun 2020 10:14:08 +0000 (19:14 +0900)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Wed, 17 Jun 2020 01:21:03 +0000 (21:21 -0400)
commit4e264ffd953463cd14c0720eaa9315ac052f5973
tree91ce9363a9a60f53dc0fe9dfffe068de6641b357
parent69243720c0932b8672e571a873c78bcf3326575a
proc/bootconfig: Fix to use correct quotes for value

Fix /proc/bootconfig to select double or single quotes
corrctly according to the value.

If a bootconfig value includes a double quote character,
we must use single-quotes to quote that value.

This modifies if() condition and blocks for avoiding
double-quote in value check in 2 places. Anyway, since
xbc_array_for_each_value() can handle the array which
has a single node correctly.
Thus,

if (vnode && xbc_node_is_array(vnode)) {
xbc_array_for_each_value(vnode) /* vnode->next != NULL */
...
} else {
snprintf(val); /* val is an empty string if !vnode */
}

is equivalent to

if (vnode) {
xbc_array_for_each_value(vnode) /* vnode->next can be NULL */
...
} else {
snprintf(""); /* value is always empty */
}

Link: http://lkml.kernel.org/r/159230244786.65555.3763894451251622488.stgit@devnote2
Cc: stable@vger.kernel.org
Fixes: c1a3c36017d4 ("proc: bootconfig: Add /proc/bootconfig to show boot config list")
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
fs/proc/bootconfig.c