x86/irq/32: Change some static functions to bool

The return values of these functions is 0/1, but they use an int
type instead of bool:

  check_stack_overflow()
  execute_on_irq_stack()

Change the type of these function to bool and adjust their return
values and affected helper variables.

[ mingo: Rewrote the changelog ]

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20250303155446.112769-5-ubizjak@gmail.com
This commit is contained in:
Uros Bizjak 2025-03-03 16:54:25 +01:00 committed by Ingo Molnar
parent d4432fb5b8
commit c8b584fe82

View File

@ -29,7 +29,7 @@
int sysctl_panic_on_stackoverflow __read_mostly;
/* Debugging check for stack overflow: is there less than 1KB free? */
static int check_stack_overflow(void)
static bool check_stack_overflow(void)
{
unsigned long sp = current_stack_pointer & (THREAD_SIZE - 1);
@ -45,7 +45,7 @@ static void print_stack_overflow(void)
}
#else
static inline int check_stack_overflow(void) { return 0; }
static inline bool check_stack_overflow(void) { return false; }
static inline void print_stack_overflow(void) { }
#endif
@ -64,7 +64,7 @@ static inline void *current_stack(void)
return (void *)(current_stack_pointer & ~(THREAD_SIZE - 1));
}
static inline int execute_on_irq_stack(int overflow, struct irq_desc *desc)
static inline bool execute_on_irq_stack(bool overflow, struct irq_desc *desc)
{
struct irq_stack *curstk, *irqstk;
u32 *isp, *prev_esp;
@ -79,7 +79,7 @@ static inline int execute_on_irq_stack(int overflow, struct irq_desc *desc)
* current stack (which is the irq stack already after all)
*/
if (unlikely(curstk == irqstk))
return 0;
return false;
isp = (u32 *) ((char *)irqstk + sizeof(*irqstk));
@ -96,7 +96,7 @@ static inline int execute_on_irq_stack(int overflow, struct irq_desc *desc)
: "+a" (desc), [sp] "+b" (isp)
: [thunk_target] "D" (desc->handle_irq)
: "memory", "cc", "edx", "ecx");
return 1;
return true;
}
/*
@ -145,7 +145,7 @@ void do_softirq_own_stack(void)
void __handle_irq(struct irq_desc *desc, struct pt_regs *regs)
{
int overflow = check_stack_overflow();
bool overflow = check_stack_overflow();
if (user_mode(regs) || !execute_on_irq_stack(overflow, desc)) {
if (unlikely(overflow))