PSCI: Resolve GCC static analysis false positive
authorSoby Mathew <soby.mathew@arm.com>
Tue, 2 Feb 2016 14:23:10 +0000 (14:23 +0000)
committerSoby Mathew <soby.mathew@arm.com>
Mon, 8 Feb 2016 10:25:55 +0000 (10:25 +0000)
commit6d18969f59a832deaf0989f32f33ba49f22b8e32
tree15e8b283d7d8e904bbbd0030e8be6f4edcf675f3
parentdbc807179fea7438efa3374584310727ce44bbc9
PSCI: Resolve GCC static analysis false positive

When BL31 is compiled at `-O3` optimization level using Linaro GCC 4.9
AArch64 toolchain, it reports the following error:

```
services/std_svc/psci/psci_common.c: In function 'psci_do_state_coordination':
services/std_svc/psci/psci_common.c:220:27: error: array subscript is above
array bounds [-Werror=array-bounds]
  psci_req_local_pwr_states[pwrlvl - 1][cpu_idx] = req_pwr_state;
                           ^
```

This error is a false positive and this patch resolves the error by asserting
the array bounds in `psci_do_state_coordination()`.

Fixes ARM-software/tf-issues#347

Change-Id: I3584ed7b2e28faf455b082cb3281d6e1d11d6495
services/std_svc/psci/psci_common.c