[systemd-devel] [PATCH] Circumvent autofs_v5_packet_union size bug

Lennart Poettering lennart at poettering.net
Mon Sep 19 13:47:22 PDT 2011


On Fri, 16.09.11 14:09, Thomas Meyer (thomas at m3y3r.de) wrote:

> the size of autofs_v5_packet_union is 300 bytes on x86 and 304 bytes on x86_64 kernels.
> when running systemd (x86) on an x86_64 kernel this leads to a hang in automount_fd_event->loop_read
> as a second fd_event is trigged for the remaining 4 bytes. but the loop_read tries to read
> 300 bytes again. adapt the packet size dynamically to architecture we are running on.

Humm. Just reading more is not really sufficient, if the fields might be
misaligned.

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!)

How does the autofs client package deal with this problem?

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.

Sorry,

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list