> #ifdef CONFIG_TUN_VNET_CROSS_LE
> static inline bool tun_legacy_is_little_endian(struct tun_struct *tun)
> {
> @@ -541,6 +604,11 @@ static void __tun_detach(struct tun_file *tfile, bool
> clean)
>
> tun = rtnl_dereference(tfile->tun);
>
> + if (tun && clean) {
> + tun_napi_disable(tun, tfile);
are we missing synchronize_net() separating disable and del calls?
> + tun_napi_del(tun, tfile);
> + }
> +
> if (tun && !tfile->detached) {
> u16 index = tfile->queue_index;
> BUG_ON(index >= tun->numqueues);
- [PATCH,v2,net-next 0/2] Improve code co... Petar Penkov
- [PATCH,v2,net-next 2/2] tun: enabl... Petar Penkov
- Re: [PATCH,v2,net-next 2/2] tu... Willem de Bruijn
- Re: [PATCH,v2,net-next 2/2... महेश बंडेवार
- Re: [PATCH,v2,net-next... Petar Penkov
- Re: [PATCH,v2,net... Willem de Bruijn
- [PATCH,v2,net-next 1/2] tun: enabl... Petar Penkov
- Re: [PATCH,v2,net-next 1/2] tu... Willem de Bruijn
- Re: [PATCH,v2,net-next 1/2] tu... महेश बंडेवार
- Re: [PATCH,v2,net-next 1/2... Willem de Bruijn
- Re: [PATCH,v2,net-next... महेश बंडेवार
