Sample Header Ad - 728x90

What is cpu_entry_area?

2 votes
1 answer
1268 views
The documentation of the Linux kernel describes the virtual memory map . It says: > fffffe0000000000 - fffffe7fffffffff (=39 bits) cpu_entry_area mapping What is this "cpu entry area"? Is it accessible in some way to code running in ring 3 (i.e. CPL3)?

I ask because I am experimenting with QEMU, and it seems that some CPL3 code that runs on the QEMU guest (Ubuntu server 18.04) attempts (I don't know whether it succeeds) to access memory in cpu_entry_area.
At first, I thought I did something wrong, as I thought that all addresses higher than 0x00007fffffffffff aren't accessible to CPL3, but then I found out about vsyscall (see here ). I tried to access vsyscall memory (specifically *(int *)0xffffffffff600000) from CPL3 code in the QEMU guest, and succeeded, but I got a segfault when I tried to access the cpu_entry_area (specifically *(int *)0xfffffe0000000ee0).
Asked by Oren Milman (127 rep)
Oct 20, 2018, 05:23 PM
Last activity: Sep 8, 2023, 07:14 AM