Some applications use those unused bits to add tags to pointers but it’s important to mask those out before attempting to dereference the address. I’m not sure about ARM but x86-64 requires bits 49-63 to be copies of bit 48 (kinda like sign-extension), ironically to ensure that no one is using those bits to store extra data.
Some applications use those unused bits to add tags to pointers but it’s important to mask those out before attempting to dereference the address. I’m not sure about ARM but x86-64 requires bits 49-63 to be copies of bit 48 (kinda like sign-extension), ironically to ensure that no one is using those bits to store extra data.