Me too.
Not only pointer sizes bugs, but also checking pointer address costs.
For binary policy, we have to examine ->next pointer is valid or not.
We can't blindly use address supplied from userland.
I have encountered mismatch of kernel version and AppArmor's policy parser version
when I just updated only kernel. As a result, the segmentation faults rushed toward me.
From this experience, TOMOYO still uses string parser in the kernel.
If a parser doesn't consume much stack (i.e. call functions recursively), I think it is no problem.
Thanks.
-