• Dan Aloni's avatar
    [NET]: Fix sysctl breakage during network device renaming. · f2bf7504
    Dan Aloni authored
    Sysctl assumes its ctl_table.procname field is const, but the 
    networking points ctl_table.procname to dev->name. When renaming 
    a network device using SIOCSIFNAME, dev->name is modified and 
    sysctl's assumption breaks, causing this behaviour, at least:
    
      1. sysctl wouldn't be able to remove the proc entry when the 
         device requests to be unregistered, because it would be 
         using the new name instead of the old one.
      2. proc entries for devices remain with the old name after 
         rename.
      
    This change includes allocating the current device name to a
    new copy upon registering with sysctl, plus re-registering with 
    sysctl when the device is renamed.
    
    This only fixes IPv4, IPv6, and net/core/neightbour.c.
    Fixes for ax25 and decnet are also planned.
    f2bf7504
devinet.c 32.9 KB