mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 02:07:35 +00:00
Kernel: Move handle_interrupt out-of-line in PCIIRQHandler
Upgrade to GCC 13.1.0 triggered an UBSAN in PCIIRQHandler. Moving the handle_interrupt() function out-of-line fixes this issue.
This commit is contained in:
parent
ff70418ffc
commit
d14c2a3583
2 changed files with 6 additions and 1 deletions
|
@ -63,4 +63,9 @@ void PCIIRQHandler::disable_irq()
|
||||||
device.disable_interrupt(interrupt_number());
|
device.disable_interrupt(interrupt_number());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool PCIIRQHandler::handle_interrupt(RegisterState const& regs)
|
||||||
|
{
|
||||||
|
return handle_irq(regs);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ class PCIIRQHandler : public GenericInterruptHandler {
|
||||||
public:
|
public:
|
||||||
virtual ~PCIIRQHandler() = default;
|
virtual ~PCIIRQHandler() = default;
|
||||||
|
|
||||||
virtual bool handle_interrupt(RegisterState const& regs) override { return handle_irq(regs); }
|
virtual bool handle_interrupt(RegisterState const& regs) override;
|
||||||
virtual bool handle_irq(RegisterState const&) = 0;
|
virtual bool handle_irq(RegisterState const&) = 0;
|
||||||
|
|
||||||
void enable_irq();
|
void enable_irq();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue