endif for setuid support in the wrong place
Log log audit trail pathing in newer kernels

So apparently the mm_struct's vma_area is randomized in newer kernels; the first executable area isn't always the binary file, it could be a shared object. Probably a good thing, but it breaks the audit trail. Fortunately, there is the *exe_file which already contains all the information I need. So replace the exe_from_mm function with a macro in recent kernels.

Normally I'd want to commit a regression test along with this fix, but since I'm now extracting the data directly from a kernel struct, future changes in the upstream kernel surrounding this would result in a compilation error rather than a runtime regression.