[arch-dev-public] Udev 145, signalfd(), and glibc with older kernels

Jan de Groot jan at jgc.homeip.net
Mon Aug 10 19:06:40 EDT 2009

On Mon, 2009-08-10 at 15:32 -0500, Dan McGee wrote:
> So as has been brought up in other threads, udev 145 uses signalfd(),
> which unfortunately seems to be absent in older kernels. That is only
> half the story.
> >From this Debian bug
> (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=537509), glibc 2.9
> and later unfortunately broke compatibility with the older signalfd
> and eventfd syscalls that are present in all kernels after 2.6.22. A
> new syscall (signalfd4) was introduced in 2.6.27, and for some reason
> glibc decided to completely switch to this rather than be
> backwards-compatible.
> Long story short- if we apply this patch
> (http://patch-tracking.debian.net/patch/series/dl/eglibc/2.9-23+multiarch.2/any/cvs-signalfd-eventfd.diff)
> from the Debian patch collection[1], we can make our glibc, and thus
> udev, compatible with modern-ish kernels out there and not cause
> unnecessary breakage for users. It should have nearly zero impact for
> anyone else as glibc will still prefer the new syscall.
> Anyone, glibc maintainer, objections or thoughts?
> -Dan
> [1] Other Debian patches:
> http://patch-tracking.debian.net/package/eglibc/2.9-23+multiarch.2

Yes, we need this. Debian has applied it already, so we're not alone
with this. This will reduce breakage a lot. Our minimal kernel for udev
will be 2.6.22 then, which sounds a lot better than 2.6.25 minimum (and
possibly 2.6.27 minimum if I believe the Debian bugreport).

More information about the arch-dev-public mailing list