| I haven't read this article yet, but this is more or less the best moment to showcase you guys what a friend of mine made. I think it's really cool. He created a memory allocator in which it is impossible to create dangling pointers. He used it by becoming the kernel through Intel VT-x (i.e. he uses ring 0). He uses libdune for this, which in turn uses Intel VT-x. Check it out at: https://dangless.gaborkozar.me/ I'm going to write an ascii diagram in the upcoming edit. For now: I'll just leave you with the legend that my friend made. Note: my friend made a video and slides. So for people who are interested, his slides and videos are much nicer to look at than this diagram. DIAGRAM (of all the physical and virtual memory) |1|<-A->|2|<-B->|3|<-C->|4| LEGEND 1 = host physical memory 2 = host virtual memory 3 = guest physical memory 4 = guest virtual memory A: normal host pagetable B: embedded page table (this is VT-X thingy) C: guest page table (this is what I mess with) |