Bug#1040956: systemd: Internal USB devices disconnected when `udevadm settle` run in early boot

undef debian at undef.tools
Sat Jul 15 03:18:07 BST 2023


Bisect done (though between v253 and v253.5). Looks like it's the 
following commit that breaks it.

88d8ab119df0239e70a5312f1f2c179c7f642dec is the first bad commit
commit 88d8ab119df0239e70a5312f1f2c179c7f642dec
Author: Dmitry V. Levin <ldv at strace.io>
Date:   Thu Mar 16 08:00:00 2023 +0000

     udev-rules: fix matching of token types that support alternative 
patterns

     For those token types that support matching of alternative patterns,
     their token values are interpreted as nulstr, so make sure the parser
     does the right thing and makes these token values terminated by two
     subsequent NULs so they could be safely interpreted as nulstr.

     Before this fix, the following rules would result to "echo foo" 
invocation:
       ENV{foo}=", RUN"
       ENV{foo}=="bar", RUN+="echo foo"
     because the value of `ENV{foo}` is treated as nulstr, and it used 
to match
     against alternative patterns, in this case `bar`, `, RUN`, and 
`="echo foo`.

     Fixes: 25de7aa7b90c ("udev: modernize udev-rules.c")
     (cherry picked from commit c43ff248f94266cfc93e300a2d3d163ed805e55b)



More information about the Pkg-systemd-maintainers mailing list