You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
64-bit heap/offset_free_fails_1: misaligned load in pvPortFree, specifically with ld a1,8(a1) at PC 0xc00248c4 attempting to load 8 bytes from address 0xc008238c. This causes an exception in the AP for which there is no handler, so it jumps to PC 0x0 and hangs there (looping on exceptions, since that's also illegal).
This is due to an explicit addition of 4 to the pointer to the allocated memory, which on a 64-bit system causes it to point to the middle of a word, which maps to the same tag as the word-aligned original value (preventing detection of the illegal free), but confusing our heap allocation library.
The cfi policy appears to require a "Target" tag for all instructions that can be jumped to (whether using direct jumps like jal or indirect ones like beq), but the branch targets of the code in the inline assembly of inline_asm_works_1 do not have this tag.
Current state of functionality:
- everything else works
inline_asm_works_1 fails with violation- everything else works
- everything else works
- everything else works
inline_asm_works_1 fails with violation- everything else works
The text was updated successfully, but these errors were encountered: