ArmPkg/Gic: Fix boundary checking bug
mGicNumInterrupts is the total number of interrupts, so the interrupt ID equal to mGicNumInterrupts is also invalid. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Heyi Guo <heyi.guo@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
This commit is contained in:
@@ -62,7 +62,7 @@ RegisterInterruptSource (
|
||||
IN HARDWARE_INTERRUPT_HANDLER Handler
|
||||
)
|
||||
{
|
||||
if (Source > mGicNumInterrupts) {
|
||||
if (Source >= mGicNumInterrupts) {
|
||||
ASSERT(FALSE);
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
@@ -50,7 +50,7 @@ GicV2EnableInterruptSource (
|
||||
IN HARDWARE_INTERRUPT_SOURCE Source
|
||||
)
|
||||
{
|
||||
if (Source > mGicNumInterrupts) {
|
||||
if (Source >= mGicNumInterrupts) {
|
||||
ASSERT(FALSE);
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
@@ -77,7 +77,7 @@ GicV2DisableInterruptSource (
|
||||
IN HARDWARE_INTERRUPT_SOURCE Source
|
||||
)
|
||||
{
|
||||
if (Source > mGicNumInterrupts) {
|
||||
if (Source >= mGicNumInterrupts) {
|
||||
ASSERT(FALSE);
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
@@ -106,7 +106,7 @@ GicV2GetInterruptSourceState (
|
||||
IN BOOLEAN *InterruptState
|
||||
)
|
||||
{
|
||||
if (Source > mGicNumInterrupts) {
|
||||
if (Source >= mGicNumInterrupts) {
|
||||
ASSERT(FALSE);
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
@@ -134,7 +134,7 @@ GicV2EndOfInterrupt (
|
||||
IN HARDWARE_INTERRUPT_SOURCE Source
|
||||
)
|
||||
{
|
||||
if (Source > mGicNumInterrupts) {
|
||||
if (Source >= mGicNumInterrupts) {
|
||||
ASSERT(FALSE);
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
@@ -40,7 +40,7 @@ GicV3EnableInterruptSource (
|
||||
IN HARDWARE_INTERRUPT_SOURCE Source
|
||||
)
|
||||
{
|
||||
if (Source > mGicNumInterrupts) {
|
||||
if (Source >= mGicNumInterrupts) {
|
||||
ASSERT(FALSE);
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
@@ -67,7 +67,7 @@ GicV3DisableInterruptSource (
|
||||
IN HARDWARE_INTERRUPT_SOURCE Source
|
||||
)
|
||||
{
|
||||
if (Source > mGicNumInterrupts) {
|
||||
if (Source >= mGicNumInterrupts) {
|
||||
ASSERT(FALSE);
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
@@ -96,7 +96,7 @@ GicV3GetInterruptSourceState (
|
||||
IN BOOLEAN *InterruptState
|
||||
)
|
||||
{
|
||||
if (Source > mGicNumInterrupts) {
|
||||
if (Source >= mGicNumInterrupts) {
|
||||
ASSERT(FALSE);
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
@@ -124,7 +124,7 @@ GicV3EndOfInterrupt (
|
||||
IN HARDWARE_INTERRUPT_SOURCE Source
|
||||
)
|
||||
{
|
||||
if (Source > mGicNumInterrupts) {
|
||||
if (Source >= mGicNumInterrupts) {
|
||||
ASSERT(FALSE);
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
Reference in New Issue
Block a user