On Mon, Jul 14, 2014 at 06:51:41PM +0000, Serge Hallyn wrote: > The netdev->priv is shared for the netdev types. A bad config file > could mix configuration for different types, resulting in a bad > netdev->priv when starting or even destroying a container. So sanity > check the netdev->type before setting a netdev->priv element. > > This should fix https://github.com/lxc/lxc/issues/254 > > Signed-off-by: Serge Hallyn <[email protected]>
Acked-by: Stéphane Graber <[email protected]> > --- > src/lxc/confile.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/src/lxc/confile.c b/src/lxc/confile.c > index 69d1bb6..42b29d1 100644 > --- a/src/lxc/confile.c > +++ b/src/lxc/confile.c > @@ -595,6 +595,10 @@ static int config_network_veth_pair(const char *key, > const char *value, > if (!netdev) > return -1; > > + if (netdev->type != LXC_NET_VETH) { > + ERROR("Invalid veth pair for a non-veth netdev") > + return -1; > + } > return network_ifname(&netdev->priv.veth_attr.pair, value); > } > > @@ -607,6 +611,10 @@ static int config_network_macvlan_mode(const char *key, > const char *value, > if (!netdev) > return -1; > > + if (netdev->type != LXC_NET_MACVLAN) { > + ERROR("Invalid macvlan.mode for a non-macvlan netdev") > + return -1; > + } > return macvlan_mode(&netdev->priv.macvlan_attr.mode, value); > } > > @@ -647,6 +655,10 @@ static int config_network_vlan_id(const char *key, const > char *value, > if (!netdev) > return -1; > > + if (netdev->type != LXC_NET_VLAN) { > + ERROR("Invalid vlan.id for a non-macvlan netdev") > + return -1; > + } > if (get_u16(&netdev->priv.vlan_attr.vid, value, 0)) > return -1; > > -- > 1.9.1 > > _______________________________________________ > lxc-devel mailing list > [email protected] > http://lists.linuxcontainers.org/listinfo/lxc-devel -- Stéphane Graber Ubuntu developer http://www.ubuntu.com
signature.asc
Description: Digital signature
_______________________________________________ lxc-devel mailing list [email protected] http://lists.linuxcontainers.org/listinfo/lxc-devel
