tracing/boot: Fix to loop on only subkeys
Masami Hiramatsu
maintainerPATCH 1/1 tracing/boot: Fix to loop on only subkeys
Since the commit e5efaeb8a8f5 ("bootconfig: Support mixing a value and subkeys under a key") allows to co-exist a value node and key nodes under a node, xbc_node_for_each_child() is not only returning key node but also a value node. In the boot-time tracing using xbc_node_for_each_child() to iterate the events, groups and instances, but those must be key nodes. Thus it must use xbc_node_for_each_subkey().
Fixes e5efaeb8a8f5 ("bootconfig: Support mixing a value and subkeys under a key")
Signed-off-by Masami Hiramatsu <[email protected]>
--- kernel/trace/trace_boot.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
kernel/trace/trace_boot.c +3 -3
@@ -522,14 +522,14 @@ trace_boot_init_events(struct trace_array *tr, struct xbc_node *node)if (!node)return ;/* per-event key starts with "event.GROUP.EVENT" */ -xbc_node_for_each_child (node, gnode) { +xbc_node_for_each_subkey (node, gnode) { data =xbc_node_get_data (gnode);if (!strcmp (data,"enable" )) { enable_all = true;continue ; } enable = false; -xbc_node_for_each_child (gnode, enode) { +xbc_node_for_each_subkey (gnode, enode) { data =xbc_node_get_data (enode);if (!strcmp (data,"enable" )) { enable = true;
@@ -625,7 +625,7 @@ trace_boot_init_instances(struct xbc_node *node)if (!node)return ; -xbc_node_for_each_child (node, inode) { +xbc_node_for_each_subkey (node, inode) { p =xbc_node_get_data (inode);if (!p || *p =='\0' )continue ;