libdevmapper incorrectly processed the udev synchronisation and device node management state if the udev synchronisation was disabled (--noudevsync option in dmsetup and --noudevsync or activation/udev_sync=0 lvm.conf option in LVM2) and at the same time we did not expect the verification of udev operations to be used (so not using --verifyudev in dmsetup and using activation/verify_udev_operations=0 LVM2 configuration option or libdevmapper users using DM_UDEV_DISABLE_LIBRARY_FALLBACK flag).
Disabling the udev synchronisation caused the udev verification to be always used, ignoring the actual state of using or not using the --verifyudev option in dmsetup or activation/verify_udev_operations configuration option in LVM2 or DM_UDEV_DISABLE_LIBRARY_FALLBACK flag. This ended up with libdevmapper/LVM2 to process the relevant nodes and symlinks in /dev and bypassing udev even if it was not desirable.
The libdevmapper library has been fixed to honour the actual need for udev verification based on user's settings, not defaulting to always using it if udev synchronisation is off.
After the fix, the device nodes and symlinks in /dev are processed by udev if udev verification and udev synchronisation is not used at the same time.