I'm trying to understand the following paradox:
I'm running a program in a 64-bit Linux. So the program runs in 64-bit mode (submode of AMD64's long mode), right? But this mode has no segmentation, it only has paging. Then why the code below generates a segmentation fault?
int main() {
int* ptr = (int*)0xABCDABCDABCD;
*ptr = 10;
return 0;
}