[PATCH v7c 21/24] dyndbg: change WARN_ON to WARN_ON_ONCE

From: Jim Cromie
Date: Wed Oct 18 2023 - 13:07:44 EST


This shouldn't ever happen, and 1st 2 conditions never have.

The 3rd condition did happen, due to corrupt linkage due to a missing
align(8) in DYNDBG_CLASSMAP_USE, on the static struct allocation into
the __dyndbg_class_users section.

Not sure whether changing to _ONCE is appropriate - this is a
module-load activity, so it won't continuously spam syslog.

Signed-off-by: Jim Cromie <jim.cromie@xxxxxxxxx>
---
undo BUG_ON addition
---
lib/dynamic_debug.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index 9db797a0cf82..213110ec1e9c 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c
@@ -1281,7 +1281,7 @@ static void ddebug_attach_user_module_classes(struct ddebug_table *dt,
*/
for (i = 0, cli = di->class_users; i < di->num_class_users; i++, cli++) {

- if (WARN_ON(!cli || !cli->map || !cli->user_mod_name))
+ if (WARN_ON_ONCE(!cli || !cli->map || !cli->user_mod_name))
continue;

if (!strcmp(cli->user_mod_name, dt->mod_name)) {
--
2.41.0