Re: [PATCH 1/1] veth: don't free priv->status until dev->destructor (v2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Stephen Hemminger <shemminger@xxxxxxxxxx> writes:

> On Fri, 26 Jun 2009 11:24:18 -0500
> "Serge E. Hallyn" <serue@xxxxxxxxxx> wrote:
>
>> Based on the commit msg on ae0e8e82205c903978a79ebf5e31c670b61fa5b4, it looks
>
>>  	ether_setup(dev);
>> @@ -306,7 +320,7 @@ static void veth_setup(struct net_device *dev)
>>  	dev->netdev_ops = &veth_netdev_ops;
>>  	dev->ethtool_ops = &veth_ethtool_ops;
>>  	dev->features |= NETIF_F_LLTX;
>> -	dev->destructor = free_netdev;
>> +	dev->destructor = veth_dev_free;
>>
>
> This is still going to oops if sysfs statistics referenced
> after module unload because module is unloaded (code is gone)
> and veth_dev_free no longer exists.

Has anyone actually seen that cause an oops?

The reason I am asking is that as I read the code we cannot have
this problem.  At worst the destructor callback is delayed until:

veth_exit
  rtnl_link_unregister
    rtnl_unlock
      netdev_run_todo
        dev->destructor


Similarly even if the sysfs filehandle is open we have called:

netdev_unregister_kobject
  ...
    sysfs_addrm_finish
      sysfs_deactivate

Which guarantees that sysfs_get_active_two will fail and all
subsequent actions on that file will fail.

Eric
_______________________________________________
Containers mailing list
Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/containers

[Index of Archives]     [Cgroups]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux