On Fri, Nov 1, 2019 at 4:25 PM James Carter <jwcart2@xxxxxxxxxxxxx> wrote: > > Since failing to resolve a statement in an optional block is normal, > only display messages about the statement failing to resolve and the > optional block being disabled at the highest verbosity level. > > These messages are now only at log level CIL_INFO instead of CIL_WARN. > > Signed-off-by: James Carter <jwcart2@xxxxxxxxxxxxx> I confirm that this fixes the issue I experienced with "semodule --verbose -B" being much noisier in 3.0-rc1 than in 2.9. Acked-by: Nicolas Iooss <nicolas.iooss@xxxxxxx> Thanks Nicolas > --- > libsepol/cil/src/cil_resolve_ast.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/libsepol/cil/src/cil_resolve_ast.c b/libsepol/cil/src/cil_resolve_ast.c > index 70a60bdf..87575860 100644 > --- a/libsepol/cil/src/cil_resolve_ast.c > +++ b/libsepol/cil/src/cil_resolve_ast.c > @@ -3761,14 +3761,16 @@ int __cil_resolve_ast_node_helper(struct cil_tree_node *node, uint32_t *finished > enum cil_log_level lvl = CIL_ERR; > > if (optstack != NULL) { > - lvl = CIL_WARN; > + lvl = CIL_INFO; > > struct cil_optional *opt = (struct cil_optional *)optstack->data; > struct cil_tree_node *opt_node = opt->datum.nodes->head->data; > - cil_tree_log(opt_node, lvl, "Disabling optional '%s'", opt->datum.name); > /* disable an optional if something failed to resolve */ > opt->enabled = CIL_FALSE; > + cil_tree_log(node, lvl, "Failed to resolve %s statement", cil_node_to_string(node)); > + cil_tree_log(opt_node, lvl, "Disabling optional '%s'", opt->datum.name); > rc = SEPOL_OK; > + goto exit; > } > > cil_tree_log(node, lvl, "Failed to resolve %s statement", cil_node_to_string(node)); > -- > 2.21.0 >