Index `ipi_num' is signed, test whether it is negative to
make sure we don't get a negative array element.
Signed-off-by: Roel Kluin <[email protected]>
---
arch/m32r/kernel/smp.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Found by code analysis, is it required?
diff --git a/arch/m32r/kernel/smp.c b/arch/m32r/kernel/smp.c
index 8a88f1f..31cef20 100644
--- a/arch/m32r/kernel/smp.c
+++ b/arch/m32r/kernel/smp.c
@@ -806,7 +806,7 @@ unsigned long send_IPI_mask_phys(cpumask_t physid_mask, int ipi_num,
if (mask & ~physids_coerce(phys_cpu_present_map))
BUG();
- if (ipi_num >= NR_IPIS)
+ if (ipi_num >= NR_IPIS || ipi_num < 0)
BUG();
mask <<= IPI_SHIFT;
At Sun, 01 Nov 2009 15:33:06 +0100,
Roel Kluin wrote:
>
> Index `ipi_num' is signed, test whether it is negative to
> make sure we don't get a negative array element.
>
> Signed-off-by: Roel Kluin <[email protected]>
> ---
> arch/m32r/kernel/smp.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> Found by code analysis, is it required?
>
> diff --git a/arch/m32r/kernel/smp.c b/arch/m32r/kernel/smp.c
> index 8a88f1f..31cef20 100644
> --- a/arch/m32r/kernel/smp.c
> +++ b/arch/m32r/kernel/smp.c
> @@ -806,7 +806,7 @@ unsigned long send_IPI_mask_phys(cpumask_t physid_mask, int ipi_num,
>
> if (mask & ~physids_coerce(phys_cpu_present_map))
> BUG();
> - if (ipi_num >= NR_IPIS)
> + if (ipi_num >= NR_IPIS || ipi_num < 0)
> BUG();
>
> mask <<= IPI_SHIFT;
>
Acked-by: Hirokazu Takata <[email protected]>
It looks OK for me.
I've merged this patch into my tree.
Thank you.
-- Takata