That "current_cred" thing is really too ugly to live.
Why is it trying to make it look like a variable? That will just confuse
people, and/or make them think it's a cheap thing rather than some complex
function call.
Also, why does the "__current_cred()" function have those illogical and
insane "#ifdef CONFIG_KEYS" things in it, when it cannot be used/work
sanely without it (and when the header file does a
+#ifndef CONFIG_KEYS
+#define __current_cred() ({ current->cred; })
+#else
..
anyway?)
IOW, this patch should be taken out and shot, for apparently actively
trying to obfuscate what the heck is going on.
Linus
-