[systemd-devel] [PATCH] Circumvent autofs_v5_packet_union size bug
lennart at poettering.net
Tue Sep 20 03:58:03 PDT 2011
On Tue, 20.09.11 11:36, Ian Kent (raven at themaw.net) wrote:
> > This is a bug in the kernel, and it should be fixed in the kernel (which
> > would mean the kernel folks have to define a new version of this
> > struct/ioctl which fixes this). If that's defined we can then add
> > support for this into systemd. Could you file a bug about this please on
> > the kernel bugzilla? (please cc me, or post the url here!)
> Yes, it is a mistake that I made but it is a bad idea to change
> something that will cause widespread failure of existing binaries and
> that's why the discrepancy persists and will continue to do so.
I am not expecting this to be changed in the kernel. Instead I expect
that the kernel API is extended with a correct version of the same data
structure. If the kernel broke it the kernel should fix it.
> I chose to compensate for it in user space and to advise anyone that
> encountered the problem on how to handle it and I have had no reports of
> problems in autofs since I added the size calculation (which was a long
> time ago now).
Well, it's a workaround in userspace. Fix the kernel. Add a second union
or something which can be used by newer clients.
> > I am sorry but I am pretty sure I want to keep the compat kludges for
> > broken things in systemd at a minimum, adding such a work around looks
> > like the wrong way to me. We generally try to fix problems where they
> > are these days, not where we notice them.
> Sure, it is unfortunate but, as far as the autofs kernel module is
> concerned the decision about this was made a long time ago and, yes it
> isn't what we want but the breakage it would have caused then and the
> breakage it would cause now is too great.
Adding a corrected version will not break anything. This is not about
replacing the current borked interface, but simply by adding a fixed
version that we can use from userspace without ugly compat glue.
Fix the problems where they are, don't work around them where they aren't.
Lennart Poettering - Red Hat, Inc.
More information about the systemd-devel