OSDN Git Service

hw/intc/arm_gicv3_its: Fix event ID bounds checks
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 11 Jan 2022 17:10:36 +0000 (17:10 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 20 Jan 2022 16:04:57 +0000 (16:04 +0000)
commit8f809f699251dcf28811b9693a196ff02367d7d6
tree043802c497cc34fb00f1a05c3d1221b90c5eab2b
parent3222165dcb7ec2d390e400d5c886d67b582f37d7
hw/intc/arm_gicv3_its: Fix event ID bounds checks

In process_its_cmd() and process_mapti() we must check the
event ID against a limit defined by the size field in the DTE,
which specifies the number of ID bits minus one. Convert
this code to our num_foo convention:
 * change the variable names
 * use uint64_t and 1ULL when calculating the number
   of valid event IDs, because DTE.SIZE is 5 bits and
   so num_eventids may be up to 2^32
 * fix the off-by-one error in the comparison

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20220111171048.3545974-2-peter.maydell@linaro.org
hw/intc/arm_gicv3_its.c