diff options
author | Heyi Guo <heyi.guo@linaro.org> | 2016-04-23 22:39:59 +0800 |
---|---|---|
committer | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2016-04-25 13:28:40 +0200 |
commit | 599f004b278f597dcfd02a56a72d9393b5f0c55a (patch) | |
tree | 8a792139a00f3373036da525a67d349e00ef59aa | |
parent | fa8ee0ad6dbb22bb9962c3e32c091f29c2e0d5d8 (diff) | |
download | edk2-599f004b278f597dcfd02a56a72d9393b5f0c55a.tar.gz edk2-599f004b278f597dcfd02a56a72d9393b5f0c55a.tar.bz2 edk2-599f004b278f597dcfd02a56a72d9393b5f0c55a.zip |
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>
-rw-r--r-- | ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c | 2 | ||||
-rw-r--r-- | ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c | 8 | ||||
-rw-r--r-- | ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c | 8 |
3 files changed, 9 insertions, 9 deletions
diff --git a/ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c b/ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c index a9ccef5e1c..be77b8361c 100644 --- a/ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c +++ b/ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c @@ -62,7 +62,7 @@ RegisterInterruptSource ( IN HARDWARE_INTERRUPT_HANDLER Handler
)
{
- if (Source > mGicNumInterrupts) {
+ if (Source >= mGicNumInterrupts) {
ASSERT(FALSE);
return EFI_UNSUPPORTED;
}
diff --git a/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c b/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c index e649ac1bc6..036eb5cd6b 100644 --- a/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c +++ b/ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c @@ -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;
}
diff --git a/ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c b/ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c index 4afa3d5a09..50fa56262e 100644 --- a/ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c +++ b/ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c @@ -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;
}
|