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)