The AArch64 MTE instruction stg stores an allocation tag. The operand signature for the instructions looks like a store instruction and memval_simple treats it like a regular store, but the memory ref operand has the size OPSZ_0 and memval_simple crashes with an assert failure in drx_buf.c:
This instruction does not write to regular memory, it stores an allocation tag to tag memory so instr_writes_memory() should return false for stg instructions allowing clients like memval_simple to filter them out easily.
The AArch64 MTE instruction
stg
stores an allocation tag. The operand signature for the instructions looks like a store instruction and memval_simple treats it like a regular store, but the memory ref operand has the sizeOPSZ_0
and memval_simple crashes with an assert failure indrx_buf.c
:This instruction does not write to regular memory, it stores an allocation tag to tag memory so
instr_writes_memory()
should return false forstg
instructions allowing clients like memval_simple to filter them out easily.