]> git.baikalelectronics.ru Git - arm-tf.git/commit
Fix casting bug in gicv2_main.c
authorjohpow01 <john.powell@arm.com>
Mon, 28 Sep 2020 21:56:48 +0000 (16:56 -0500)
committerJohn Powell <john.powell@arm.com>
Sat, 10 Oct 2020 07:14:44 +0000 (07:14 +0000)
commit20d384978b7e79b15ac92f07664db59efa17bf59
treef9faa111deb08d95538d5c62e29388edb43cc455
parent7d3a7ec704d166ed98c667e202db0fd8e69f1622
Fix casting bug in gicv2_main.c

In the function gicv2_set_spi_routing, the signed value proc_num is cast
to unsigned int before being compared to other unsigned values in two
assert calls.  The value proc_num can be a negative value, and once the
negative value is cast to unsigned it becomes a very large number which
will trigger the assert.  This patch changes the assert cast so that the
unsigned values are cast to signed instead, keeping the same functionality
but allowing proc_num to be negative.

This bug can be seen when running the SDEI RM_ANY routing mode test in
TFTF on the Juno platform.

This patch also makes the usage of the proc_num variable in other gicv2
functions more clear.

Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: If1b98eebb00bd9b73862e5e995e5e68c168170a6
drivers/arm/gic/v2/gicv2_main.c