PCB_LR isn't stored in tf_x, so trying to store it as pcb_x[PCB_LR] =
tf->tf_x[PCB_LR + PCB_X_START] overflowed the tf_x array.
Reported by: Morello (bounds check crash)
Obtained from: CheriBSD
Sponsored by: DARPA
Differential D41485
arm64 makectx: Fix overflow of tf_x array jhb on Aug 16 2023, 7:30 PM. Authored by Tags None Referenced Files
Details PCB_LR isn't stored in tf_x, so trying to store it as pcb_x[PCB_LR] = Reported by: Morello (bounds check crash)
Diff Detail
Event TimelineComment Actions An alternate fix (that might be cleaner) without breaking the KBI would be to rename pcb_x[PCB_LR] back to pcb_lr.
|