When the instruction syndrome is not valid, the transfer register is unknown.
If this register is used in the emulation code (it's the case for the VGIC),
Xen can retrieve wrong data.
For safety, consider invalid instruction syndrome as wrong memory access.
Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
if ( rc == -EFAULT )
goto bad_data_abort;
+ /* XXX: Decode the instruction if ISS is not valid */
+ if ( !dabt.valid )
+ goto bad_data_abort;
+
if (handle_mmio(&info))
{
regs->pc += dabt.len ? 4 : 2;