From: Guenter Roeck <linux@roeck-us.net>
To: linux-kselftest@vger.kernel.org
Cc: "David Airlie" <airlied@gmail.com>,
"Arnd Bergmann" <arnd@arndb.de>,
"Maíra Canal" <mcanal@igalia.com>,
"Dan Carpenter" <dan.carpenter@linaro.org>,
"Kees Cook" <keescook@chromium.org>,
"Daniel Diaz" <daniel.diaz@linaro.org>,
"David Gow" <davidgow@google.com>,
"Arthur Grillo" <arthurgrillo@riseup.net>,
"Brendan Higgins" <brendan.higgins@linux.dev>,
"Naresh Kamboju" <naresh.kamboju@linaro.org>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Maxime Ripard" <mripard@kernel.org>,
"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
"Daniel Vetter" <daniel@ffwll.ch>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
dri-devel@lists.freedesktop.org, kunit-dev@googlegroups.com,
linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
linux-sh@vger.kernel.org, loongarch@lists.linux.dev,
netdev@vger.kernel.org, x86@kernel.org,
"Guenter Roeck" <linux@roeck-us.net>,
"Linux Kernel Functional Testing" <lkft@linaro.org>
Subject: [PATCH v3 02/15] kunit: bug: Count suppressed warning backtraces
Date: Wed, 3 Apr 2024 06:19:23 -0700 [thread overview]
Message-ID: <20240403131936.787234-3-linux@roeck-us.net> (raw)
In-Reply-To: <20240403131936.787234-1-linux@roeck-us.net>
Count suppressed warning backtraces to enable code which suppresses
warning backtraces to check if the expected backtrace(s) have been
observed.
Using atomics for the backtrace count resulted in build errors on some
architectures due to include file recursion, so use a plain integer
for now.
Acked-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
v2:
- Rebased to v6.9-rc1
- Added Tested-by:, Acked-by:, and Reviewed-by: tags
- Introduced KUNIT_SUPPRESS_BACKTRACE configuration option
v3:
- Rebased to v6.9-rc2
include/kunit/bug.h | 7 ++++++-
lib/kunit/bug.c | 4 +++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/include/kunit/bug.h b/include/kunit/bug.h
index bd0fe047572b..72e9fb23bbd5 100644
--- a/include/kunit/bug.h
+++ b/include/kunit/bug.h
@@ -20,6 +20,7 @@
struct __suppressed_warning {
struct list_head node;
const char *function;
+ int counter;
};
void __start_suppress_warning(struct __suppressed_warning *warning);
@@ -28,7 +29,7 @@ bool __is_suppressed_warning(const char *function);
#define DEFINE_SUPPRESSED_WARNING(func) \
struct __suppressed_warning __kunit_suppress_##func = \
- { .function = __stringify(func) }
+ { .function = __stringify(func), .counter = 0 }
#define START_SUPPRESSED_WARNING(func) \
__start_suppress_warning(&__kunit_suppress_##func)
@@ -39,12 +40,16 @@ bool __is_suppressed_warning(const char *function);
#define IS_SUPPRESSED_WARNING(func) \
__is_suppressed_warning(func)
+#define SUPPRESSED_WARNING_COUNT(func) \
+ (__kunit_suppress_##func.counter)
+
#else /* CONFIG_KUNIT_SUPPRESS_BACKTRACE */
#define DEFINE_SUPPRESSED_WARNING(func)
#define START_SUPPRESSED_WARNING(func)
#define END_SUPPRESSED_WARNING(func)
#define IS_SUPPRESSED_WARNING(func) (false)
+#define SUPPRESSED_WARNING_COUNT(func) (0)
#endif /* CONFIG_KUNIT_SUPPRESS_BACKTRACE */
#endif /* __ASSEMBLY__ */
diff --git a/lib/kunit/bug.c b/lib/kunit/bug.c
index f93544d7a9d1..13b3d896c114 100644
--- a/lib/kunit/bug.c
+++ b/lib/kunit/bug.c
@@ -32,8 +32,10 @@ bool __is_suppressed_warning(const char *function)
return false;
list_for_each_entry(warning, &suppressed_warnings, node) {
- if (!strcmp(function, warning->function))
+ if (!strcmp(function, warning->function)) {
+ warning->counter++;
return true;
+ }
}
return false;
}
--
2.39.2
next prev parent reply other threads:[~2024-04-03 13:19 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-03 13:19 [PATCH v3 00/15] Add support for suppressing warning backtraces Guenter Roeck
2024-04-03 13:19 ` [PATCH v3 01/15] bug/kunit: Core " Guenter Roeck
2024-04-09 8:29 ` David Gow
2024-04-03 13:19 ` Guenter Roeck [this message]
2024-04-09 8:29 ` [PATCH v3 02/15] kunit: bug: Count suppressed " David Gow
2024-04-03 13:19 ` [PATCH v3 03/15] kunit: Add test cases for backtrace warning suppression Guenter Roeck
2024-04-09 8:29 ` David Gow
2024-04-09 18:11 ` Guenter Roeck
2024-04-03 13:19 ` [PATCH v3 04/15] kunit: Add documentation for warning backtrace suppression API Guenter Roeck
2024-04-09 8:29 ` David Gow
2024-04-03 13:19 ` [PATCH v3 05/15] drm: Suppress intentional warning backtraces in scaling unit tests Guenter Roeck
2024-04-03 13:19 ` [PATCH v3 06/15] net: kunit: Suppress lock warning noise at end of dev_addr_lists tests Guenter Roeck
2024-04-04 1:34 ` Jakub Kicinski
2024-04-08 16:34 ` Guenter Roeck
2024-04-03 13:19 ` [PATCH v3 07/15] x86: Add support for suppressing warning backtraces Guenter Roeck
2024-04-03 13:19 ` [PATCH v3 08/15] arm64: " Guenter Roeck
2024-04-03 13:19 ` [PATCH v3 09/15] loongarch: " Guenter Roeck
2024-04-03 13:19 ` [PATCH v3 10/15] parisc: " Guenter Roeck
2024-04-03 13:19 ` [PATCH v3 11/15] s390: " Guenter Roeck
2024-04-03 13:19 ` [PATCH v3 12/15] sh: " Guenter Roeck
2024-04-03 13:19 ` [PATCH v3 13/15] sh: Move defines needed " Guenter Roeck
2024-04-05 18:31 ` Simon Horman
2024-04-03 13:19 ` [PATCH v3 14/15] riscv: Add support " Guenter Roeck
2024-04-22 17:40 ` Charlie Jenkins
2024-04-03 13:19 ` [PATCH v3 15/15] powerpc: " Guenter Roeck
2024-04-04 2:14 ` Michael Ellerman
2024-04-03 21:20 ` [PATCH v3 00/15] " Kees Cook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240403131936.787234-3-linux@roeck-us.net \
--to=linux@roeck-us.net \
--cc=airlied@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=arthurgrillo@riseup.net \
--cc=brendan.higgins@linux.dev \
--cc=dan.carpenter@linaro.org \
--cc=daniel.diaz@linaro.org \
--cc=daniel@ffwll.ch \
--cc=davidgow@google.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=keescook@chromium.org \
--cc=kunit-dev@googlegroups.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lkft@linaro.org \
--cc=loongarch@lists.linux.dev \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mcanal@igalia.com \
--cc=mripard@kernel.org \
--cc=naresh.kamboju@linaro.org \
--cc=netdev@vger.kernel.org \
--cc=tzimmermann@suse.de \
--cc=ville.syrjala@linux.intel.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).