------- Comment From [email protected] 2017-02-03 10:33 EDT-------
I enabled the debug in udev for Ubuntu 17.04 and I am seeing the following in
the log:
systemd-udevd[4552]: 'ifupdown-hotplug'(err) 'ifquery: error while
loading shared libraries: cannot restore segment prot after reloc:
Operation not permitted'
This command is used in the /lib/udev/ifupdown-hotplug script that is
invoked in the 80-ifupdown.rules
# cat /lib/udev/rules.d/80-ifupdown.rules
# Allow rfkill for users in the netdev group
KERNEL=="rfkill", MODE="0664", GROUP="netdev"
# Handle allow-hotplug interfaces
SUBSYSTEM=="net", ACTION=="add|remove", RUN+="ifupdown-hotplug"
The ifquery command is used in the following net_ifup function of the
script:
net_ifup() {
check_program /sbin/ifup
# exit if the interface is not configured as allow-hotplug or auto
if ! (ifquery --allow hotplug -l; ifquery --allow auto -l) | grep -q
"^${INTERFACE}\$"; then
exit 0
fi
if [ -d /run/systemd/system ]; then
exec systemctl --no-block start $(systemd-escape --template [email protected]
$INTERFACE)
fi
local out=$(ps -C ifup ho args)
if [ "${out%$INTERFACE*}" != "$out" ]; then
mesg "Already ifup-ing interface $INTERFACE"
exit 0
fi
wait_for_interface lo
exec ifup --allow=hotplug $INTERFACE
}
So it is failing the first if and exiting the function when it shouldn't
be doing so for an interface that is supposed to be configured. And
since it uses exit code 0 it doesn't show up as an error in the syslog
and it appears that the script is successfully executed.
I don't see the error with ifquery when testing in Ubuntu 16.04, so it
might be the point of failure we are looking for.
What I find strange is that the script and rule are the same in Ubuntu
16.04 and Ubuntu 17.04 and when I manually run the command in Ubuntu
17.04 I get the proper output.
# ifquery --allow hotplug -l
enP1p12s0f0
# ifquery --allow auto -l
lo
enP1p12s0f0
I still need to take a closer look to try to figure out what is causing
ifquery to fail in the script and not when using it manually.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1660762
Title:
[Regression] Interface configuration not restored after driver
unbind/bind (generic)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1660762/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs