How would you preempt the running program during malloc? Isn't there a well-defined reload point? Major red flags going up if your program can just change at any random point..
Also, didn't the article say explicitly that struct layout changes aren't supported??