Re: FYI: Userland breakage caused by udev bind commit

From: Greg KH
Date: Mon Dec 24 2018 - 04:35:03 EST


On Mon, Dec 24, 2018 at 01:22:57AM -0800, Dmitry Torokhov wrote:
> On Mon, Dec 24, 2018 at 10:12:29AM +0100, Greg KH wrote:
> > On Sun, Dec 23, 2018 at 05:49:54PM +0100, Marcus Meissner wrote:
> > > Hi,
> > >
> > > I am the maintainer of libmtp and libgphoto2
> > >
> > > Some months ago I was made aware of this bug:
> > > https://bugs.kde.org/show_bug.cgi?id=387454
> > >
> > > This was fallout identified to come from this kernel commit:
> > >
> > > commit 1455cf8dbfd06aa7651dcfccbadb7a093944ca65
> > > Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> > > Date: Wed Jul 19 17:24:30 2017 -0700
> > >
> > > If distributions would be using libmtp and libgphoto2 udev rules
> > > that just triggered on "add" events, and not the new "bind" events,
> > > the missing "attribute tagging" of the "bind" events would confused the
> > > KDE Solid device detection and make the devices no longer detected.
> > >
> > > This did not affect distributions that rely on the newer "hwdb"
> > > device detection method.
> > >
> > > I have released fixed libmtp and libgphoto2 versions in November, so
> > > this is under control, but wanted to bring this up as a "kernel caused
> > > userland breakage".
> >
> > This is complex, sorry. When this first commit was merged, we did get
> > some reports of problems, so we reverted it. Dmitry worked through the
> > issues and then we added it back again.
> >
> > That was back in July of 2017, and since then, we had not heard of any
> > problems that happened until this month, a very long time.
> >
> > So I really don't understand the root problem here, all of the distros
> > that have been shipping kernels with this code for over a year didn't
> > seem to have any issues. My systems never had any issues, and so I
> > can't figure out what suddenly changed to cause problems.
> >
> > Was it the fact that we all are using distros that use hwdb? Who does
> > _not_ use hwdb these days? Heck, I would have expected Debian to report
> > problems as they are the ones that are known to use old userspace code
> > with kernel developers using new kernels.
> >
> > So what changed to cause the problem recently?
>
> I think this is new systemd that had my patch to handle bind/unbind
> instead of ignoring them is catching up in distros. So:
>
> - old systemd with old kernels OK
> - old systemd with new kernels OK
> - new systemd with old kernels OK
> - new systemd with new kernels - NOT OK - losing tags on bind
>
> Systemd folks merged my patch to disable bind/unbind again until we
> teach it to no longer flush entire device state on each new uevent and
> it should be well now.

Ah, thanks, that makes more sense now. So all should be good, thanks
for confirming this.

greg k-h