lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 25 Apr 2016 14:01:06 -0500 From: ebiederm@...ssion.com (Eric W. Biederman) To: Francesco Ruggeri <fruggeri@...sta.com> Cc: netdev@...r.kernel.org, "David S. Miller" <davem@...emloft.net> Subject: Re: [PATCH net-next] macvtap: check minor when unregistering Francesco Ruggeri <fruggeri@...sta.com> writes: > macvtap_device_event(NETDEV_UNREGISTER) should check vlan->minor to > determine if it is being invoked in the context of a macvtap_newlink > that failed, for example in this code sequence: > > macvtap_newlink > macvlan_common_newlink > register_netdevice > call_netdevice_notifiers(NETDEV_REGISTER, dev) > macvtap_device_event(NETDEV_REGISTER) > <fail here, vlan->minor = 0> > rollback_registered(dev); > rollback_registered_many > call_netdevice_notifiers(NETDEV_UNREGISTER, dev); > macvtap_device_event(NETDEV_UNREGISTER) > <nothing to clean up here> > Acked-by: "Eric W. Biederman" <ebiederm@...ssion.com> > Signed-off-by: Francesco Ruggeri <fruggeri@...sta.com> > --- > drivers/net/macvtap.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c > index 95394ed..74cb15a 100644 > --- a/drivers/net/macvtap.c > +++ b/drivers/net/macvtap.c > @@ -1303,6 +1303,9 @@ static int macvtap_device_event(struct notifier_block *unused, > } > break; > case NETDEV_UNREGISTER: > + /* vlan->minor == 0 if NETDEV_REGISTER above failed */ > + if (vlan->minor == 0) > + break; > devt = MKDEV(MAJOR(macvtap_major), vlan->minor); > device_destroy(macvtap_class, devt); > macvtap_free_minor(vlan);
Powered by blists - more mailing lists