[libvirt] [PATCH] network: avoid trying to create global firewall rules if unprivileged

Daniel P. Berrangé berrange at redhat.com
Tue Mar 19 09:47:50 UTC 2019


ping

On Wed, Mar 13, 2019 at 04:24:02PM +0000, Daniel P. Berrangé wrote:
> The unprivileged libvirtd does not have permission to create firewall
> rules, or bridge devices, or do anything to the host network in
> general. Historically we still activate the network driver though and
> let the network start API call fail.
> 
> The startup code path which reloads firewall rules on active networks
> would thus effectively be a no-op when unprivileged as it is impossible
> for there to be any active networks
> 
> With the change to use a global set of firewall chains, however, we now
> have code that is run unconditionally.
> 
> Ideally we would not register the network driver at all when
> unprivileged, but the entanglement with the virt drivers currently makes
> that impractical. As a temporary hack, we just make the firewall reload
> into a no-op.
> 
> Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> ---
>  src/network/bridge_driver.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
> index c3e1381124..7d95675623 100644
> --- a/src/network/bridge_driver.c
> +++ b/src/network/bridge_driver.c
> @@ -2095,6 +2095,10 @@ static void
>  networkReloadFirewallRules(virNetworkDriverStatePtr driver, bool startup)
>  {
>      VIR_INFO("Reloading iptables rules");
> +    /* Ideally we'd not even register the driver when unprivilegd
> +     * but until we untangle the virt driver that's not viable */
> +    if (!driver->privileged)
> +        return;
>      if (networkPreReloadFirewallRules(startup) < 0)
>          return;
>      virNetworkObjListForEach(driver->networks,
> -- 
> 2.20.1
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list