On Fri, Apr 27, 2012 at 11:42 AM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > There's no question that systemd is broken. Actually, I'll take that back. Yes, systemd has breakage. But it's actually automount that is the truly broken piece of sh*t. I think that 'automount' is even more broken. The fact that the automount maintainers knew about this, and added TOTALLY BROKEN code to their automount source tree, over five years ago, because the authors clearly did not understand what the f*ck they were doing, that's the real problem. Look at the automount source code: if (pkt_len % 8) { if (strcmp(un.machine, "alpha") == 0 || strcmp(un.machine, "ia64") == 0 || strcmp(un.machine, "x86_64") == 0 || strcmp(un.machine, "ppc64") == 0) pkt_len += 4; } and realize that the above is *wrong*. It's complete and utter shit. It's actively insane. The above source code makes zero sense. The whole issue does not *exist* on alpha, ia64, or ppc64 (or sparc64, which isn't even listed), because those architectures don't have the issue that their 32-bit version has different default alignment for a 64-bit entity. So autofs-tools was and remains actively *wrong*. In contrast, the systemd source code actually makes sense. We should point to it as the *correct* user, and autofs as the legacy bug. Which is why I actually think that it makes more sense to special-case the real bug - in automount. It's why I think that it's ok to do the strcmp(), and why the strcmp should check for "automount", not "systemd". I just think it needs a big honking comment that explains it. Something like int autofs_compat_interface() { if (!is_compat_task()) return 0; /* "autofs" has crazy shit going on working around an old compat bug, and actually expects the non-compat size with a 64-bit kernel */ if (!strcmp(current->comm, "automount")) return 0; return 1; } because it really is an autofs bug. If the autofs people had understood what they were doing, none of this would ever have happened. Still, checking for strings is ugly. I do think it would be even better if we could trigger on another difference, but whatever.. Linus -- To unsubscribe from this list: send the line "unsubscribe autofs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html