From d602da4ae9e804fabe093fcd5c91ba785fd1677b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Fri, 18 Dec 2020 05:24:28 +0100 Subject: [PATCH] network: fix waiting for VM network uplink The network-uplink-wait.sh script may be called before xen-netfront module is even loaded (by udev). In that case, `get_qubes_managed_iface` will fail to get the interface name and the wait will be skipped. Fix this by loading xen-netfront module explicitly (do not try to synchronize with udev, which is tricky not knowing the device name). --- init/functions | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/init/functions b/init/functions index ba05485..e0161b4 100644 --- a/init/functions +++ b/init/functions @@ -138,6 +138,12 @@ get_qubes_managed_iface() { local mac local qubes_iface mac="$(qubesdb-read /qubes-mac 2> /dev/null)" + if [ -z "$mac" ]; then + # no qubes-managed network interface + return + fi + # Load the module explicitly here, to avoid waiting for udev doing that + [ -e /sys/module/xen_netfront ] || modprobe xen-netfront || : qubes_iface="$(get_iface_from_mac "$mac")" if [ "x$qubes_iface" != "x" ]; then echo "$qubes_iface"