When a log type is registered, the level can be picked by matching saved options. The check of fnmatch globbing result was reversed. The same bug was already fixed in a similar function. This one is acting in log type register function. Note: this function rte_log_register_type_and_pick_level() is not used a lot and could be merged with rte_log_register(). Fixes: 6ff0f81d0ef7 ("log: fix pattern matching") Cc: stable@dpdk.org Signed-off-by: Thomas Monjalon <thomas@monjalon.net> --- lib/librte_eal/common/eal_common_log.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c index 7647a916ef..d7a5f9b641 100644 --- a/lib/librte_eal/common/eal_common_log.c +++ b/lib/librte_eal/common/eal_common_log.c @@ -320,7 +320,7 @@ rte_log_register_type_and_pick_level(const char *name, uint32_t level_def) continue; if (opt_ll->pattern) { - if (fnmatch(opt_ll->pattern, name, 0)) + if (fnmatch(opt_ll->pattern, name, 0) == 0) level = opt_ll->level; } else { if (regexec(&opt_ll->re_match, name, 0, NULL, 0) == 0) -- 2.26.0
On Wed, Apr 8, 2020 at 12:48 AM Thomas Monjalon <thomas@monjalon.net> wrote: > > When a log type is registered, the level can be picked > by matching saved options. > The check of fnmatch globbing result was reversed. > > The same bug was already fixed in a similar function. > This one is acting in log type register function. > > Note: this function rte_log_register_type_and_pick_level() > is not used a lot and could be merged with rte_log_register(). Same fix as a patch I sent quite some time ago and left behind.. https://patchwork.dpdk.org/patch/57742/ I left it in a series I wanted to work on later... Anyway, this fix is needed. I suppose we are missing a unit test too. -- David Marchand
08/04/2020 00:47, Thomas Monjalon:
> When a log type is registered, the level can be picked
> by matching saved options.
> The check of fnmatch globbing result was reversed.
>
> The same bug was already fixed in a similar function.
> This one is acting in log type register function.
>
> Note: this function rte_log_register_type_and_pick_level()
> is not used a lot and could be merged with rte_log_register().
>
> Fixes: 6ff0f81d0ef7 ("log: fix pattern matching")
> Cc: stable@dpdk.org
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Applied