Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'core-urgent-2025-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull misc core fixes from Ingo Molnar:

- Improve bug reporting

- Suppress W=1 format warning

- Improve rseq scalability on Clang builds

* tag 'core-urgent-2025-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
rseq: Always inline rseq_debug_syscall_return()
bug: Hush suggest-attribute=format for __warn_printf()
bug: Let report_bug_entry() provide the correct bugaddr

+6 -2
+1 -1
include/linux/rseq_entry.h
··· 596 596 597 597 void __rseq_debug_syscall_return(struct pt_regs *regs); 598 598 599 - static inline void rseq_debug_syscall_return(struct pt_regs *regs) 599 + static __always_inline void rseq_debug_syscall_return(struct pt_regs *regs) 600 600 { 601 601 if (static_branch_unlikely(&rseq_debug_enabled)) 602 602 __rseq_debug_syscall_return(regs);
+5 -1
lib/bug.c
··· 173 173 return module_find_bug(bugaddr); 174 174 } 175 175 176 + __diag_push(); 177 + __diag_ignore(GCC, all, "-Wsuggest-attribute=format", 178 + "Not a valid __printf() conversion candidate."); 176 179 static void __warn_printf(const char *fmt, struct pt_regs *regs) 177 180 { 178 181 if (!fmt) ··· 195 192 196 193 printk("%s", fmt); 197 194 } 195 + __diag_pop(); 198 196 199 197 static enum bug_trap_type __report_bug(struct bug_entry *bug, unsigned long bugaddr, struct pt_regs *regs) 200 198 { ··· 266 262 bool rcu = false; 267 263 268 264 rcu = warn_rcu_enter(); 269 - ret = __report_bug(bug, 0, regs); 265 + ret = __report_bug(bug, bug_addr(bug), regs); 270 266 warn_rcu_exit(rcu); 271 267 272 268 return ret;