linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alessandro Carminati <acarmina@redhat.com>
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>,
	"Guenter Roeck" <linux@roeck-us.net>,
	"Alessandro Carminati" <alessandro.carminati@gmail.com>,
	"Jani Nikula" <jani.nikula@intel.com>,
	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,
	x86@kernel.org,
	"Linux Kernel Functional Testing" <lkft@linaro.org>,
	"Alessandro Carminati" <acarmina@redhat.com>
Subject: [PATCH v4 02/14] kunit: bug: Count suppressed warning backtraces
Date: Thu, 13 Mar 2025 11:43:17 +0000	[thread overview]
Message-ID: <20250313114329.284104-3-acarmina@redhat.com> (raw)
In-Reply-To: <20250313114329.284104-1-acarmina@redhat.com>

From: Guenter Roeck <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>
Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: Alessandro Carminati <acarmina@redhat.com>
---
 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 0a8e62c1fcaf..44efa7d5c902 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 __kunit_start_suppress_warning(struct __suppressed_warning *warning);
@@ -28,7 +29,7 @@ bool __kunit_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 KUNIT_START_SUPPRESSED_WARNING(func) \
 	__kunit_start_suppress_warning(&__kunit_suppress_##func)
@@ -39,12 +40,16 @@ bool __kunit_is_suppressed_warning(const char *function);
 #define KUNIT_IS_SUPPRESSED_WARNING(func) \
 	__kunit_is_suppressed_warning(func)
 
+#define SUPPRESSED_WARNING_COUNT(func) \
+	(__kunit_suppress_##func.counter)
+
 #else /* CONFIG_KUNIT_SUPPRESS_BACKTRACE */
 
 #define DEFINE_SUPPRESSED_WARNING(func)
 #define KUNIT_START_SUPPRESSED_WARNING(func)
 #define KUNIT_END_SUPPRESSED_WARNING(func)
 #define KUNIT_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 351f9a595a71..84c05b1a9e8b 100644
--- a/lib/kunit/bug.c
+++ b/lib/kunit/bug.c
@@ -32,8 +32,10 @@ bool __kunit_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.34.1


  parent reply	other threads:[~2025-03-13 11:44 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-13 11:43 [PATCH v4 00/14] Add support for suppressing warning backtraces Alessandro Carminati
2025-03-13 11:43 ` [PATCH v4 01/14] bug/kunit: Core " Alessandro Carminati
2025-03-29  8:03   ` David Gow
2025-03-13 11:43 ` Alessandro Carminati [this message]
2025-03-29  8:03   ` [PATCH v4 02/14] kunit: bug: Count suppressed " David Gow
2025-03-13 11:43 ` [PATCH v4 03/14] kunit: Add test cases for backtrace warning suppression Alessandro Carminati
2025-03-29  8:03   ` David Gow
2025-03-13 11:43 ` [PATCH v4 04/14] kunit: Add documentation for warning backtrace suppression API Alessandro Carminati
2025-03-13 11:43 ` [PATCH v4 05/14] drm: Suppress intentional warning backtraces in scaling unit tests Alessandro Carminati
2025-03-13 11:43 ` [PATCH v4 06/14] x86: Add support for suppressing warning backtraces Alessandro Carminati
2025-03-29  8:04   ` David Gow
2025-04-01 17:08   ` Peter Zijlstra
2025-04-01 17:53     ` Guenter Roeck
2025-04-01 20:00       ` Josh Poimboeuf
2025-04-02  7:42       ` Peter Zijlstra
2025-04-02  7:45       ` Peter Zijlstra
2025-03-13 11:43 ` [PATCH v4 07/14] arm64: " Alessandro Carminati
2025-03-13 12:25   ` Will Deacon
2025-03-13 16:40     ` Alessandro Carminati
2025-03-18 15:59       ` Will Deacon
2025-03-18 16:39         ` Guenter Roeck
2025-03-19  8:05         ` Christophe Leroy
2025-03-19 10:20           ` Dan Carpenter
2025-03-19 13:11           ` Guenter Roeck
2025-03-13 11:43 ` [PATCH v4 08/14] loongarch: " Alessandro Carminati
2025-03-13 11:43 ` [PATCH v4 09/14] parisc: " Alessandro Carminati
2025-03-13 11:43 ` [PATCH v4 10/14] s390: " Alessandro Carminati
2025-03-21 17:05   ` Guenter Roeck
2025-03-21 17:33     ` Arnd Bergmann
2025-03-21 21:05     ` Alessandro Carminati
2025-03-24 10:47       ` Heiko Carstens
2025-03-13 11:43 ` [PATCH v4 11/14] sh: " Alessandro Carminati
2025-03-13 11:43 ` [PATCH v4 12/14] sh: Move defines needed " Alessandro Carminati
2025-03-13 11:43 ` [PATCH v4 13/14] riscv: Add support " Alessandro Carminati
2025-03-13 11:43 ` [PATCH v4 14/14] powerpc: " Alessandro Carminati
2025-03-13 17:17 ` [PATCH v4 00/14] " Kees Cook
2025-03-13 17:24   ` Maxime Ripard
2025-03-13 18:31     ` Guenter Roeck
2025-03-13 22:05       ` Andrew Morton
2025-03-28 22:14         ` Shuah Khan
2025-03-28 22:53           ` Andrew Morton
2025-03-28 10:38     ` Mickaël Salaün
2025-03-28 14:20       ` Maxime Ripard
2025-03-29  8:03 ` David Gow
2025-04-26  2:32 ` Andrew Morton

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=20250313114329.284104-3-acarmina@redhat.com \
    --to=acarmina@redhat.com \
    --cc=airlied@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=alessandro.carminati@gmail.com \
    --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=jani.nikula@intel.com \
    --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=linux@roeck-us.net \
    --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=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).