HomeFreeBSD

The 'verify_gla()' function is used to ensure that the effective address

Description

The 'verify_gla()' function is used to ensure that the effective address
after decoding the instruction matches the one provided by hardware.

Prior to r283293 'vie->num_valid' used to contain the actual length of
the instruction whereas now it contains the maximum instruction length
possible. This introduced a bug when calculating a RIP-relative base address.

Fix this by using 'vie->num_processed' rather than 'vie->num_valid' as the
length of the emulated instruction.

Reported and tested by: tychon
MFC after: 1 week

Details

Provenance
neelAuthored on
Parents
rS284045: MFC 281932:
Branches
Unknown
Tags
Unknown