|
You are here |
blog.xenoscr.net | ||
| | | | |
ankithooda.com
|
|
| | | | | xv6 loads the userspace program starting from the virtual address 0x0, which means we can dereference a null pointer in a xv6 process and it will be a valid memory access. #include "types.h"#include "user.h"#include "stat.h"int main(int argc , char **argv) { int *c = (int *)0x0; printf(1, "%d\n", *c); exit();} Compiling and running the above... | |
| | | | |
membarrier.wordpress.com
|
|
| | | | | In the previous post we saw how the memory management unit (MMU) uses page tables to translate virtual addresses into physical ones. We will now consider the various features that such a translation enables in an operating system. In the discussion below, it is important to remember that the granularity of translation is a single... | |
| | | | |
manybutfinite.com
|
|
| | | | | After examining the virtual address layout of a process, we turn to the kernel and its mechanisms for managing user memory. Here is gonzo again: Linux processes are implemented in the kernel as insta | |
| | | | |
blog.infosectcbr.com.au
|
|
| | | Dr Silvio Cesare @silviocesare Summary I wrote a blog post some months ago on weaknesses in the Linux kernel heap free list pointer hardening implementation. In response to that weakness, Kees Cook wrote an improved kernel patch, which I reviewed. This blog post is an analysis of that patch. I try to break it using... | ||