On Tue, Mar 17, 2026 at 12:20:26PM +0100, Vlastimil Babka (SUSE) wrote: > > For this iteration, the `__report_bug()` centralized approach was > > revisited after the discussion in the previous version [1]. > > Discussion with PeterZ, who is not CC'd here? (did it now for my reply). > > > However, again this approach did not work because: > > - Some warning output is generated directly in the macros before calling > > the centralized functions (e.g., `__warn_printk()` in `__WARN_printf()`) > > - Functions in the warning path like `warn_slowpath_fmt()` are marked > > `__always_inline`, making it difficult to intercept early enough > > - So, by the time `__report_bug()` is called, output has already been > > written > > to the console, making suppression ineffective > > > > Current Proposal: Check Directly in the `WARN()` Macros. > > This avoids the need for function symbol resolution or ELF section > > modification. > > Suppression is implemented directly in the `WARN*()` macros. > > So does that bloat every warn/bug site (as Peter objected to) or not? > And is it compatible with x86? I see you modify include/asm-generic/bug.h > but x86 has its own version of e.g. __WARN_printf ?
Yeah, they done it all wrong again :-( This should be pushed inside __report_bug() through __WARN_printf with a new BUGFLAG thing. So NAK from me on this -- again!

