• Vladimir Oltean's avatar
    net: dsa: felix: remove dead code in felix_setup_mmio_filtering() · d78637a8
    Vladimir Oltean authored
    There has been some controversy related to the sanity check that a CPU
    port exists, and commit e8b1d769 ("net: dsa: felix: Fix memory leak
    in felix_setup_mmio_filtering") even "corrected" an apparent memory leak
    as static analysis tools see it.
    
    However, the check is completely dead code, since the earliest point at
    which felix_setup_mmio_filtering() can be called is:
    
    felix_pci_probe
    -> dsa_register_switch
       -> dsa_switch_probe
          -> dsa_tree_setup
             -> dsa_tree_setup_cpu_ports
                -> dsa_tree_setup_default_cpu
                   -> contains the "DSA: tree %d has no CPU port\n" check
             -> dsa_tree_setup_master
                -> dsa_master_setup
                   -> sysfs_create_group(&dev->dev.kobj, &dsa_group);
                      -> makes tagging_store() callable
                         -> dsa_tree_change_tag_proto
                            -> dsa_tree_notify
                               -> dsa_switch_event
                                  -> dsa_switch_change_tag_proto
                                     -> ds->ops->change_tag_protocol
                                        -> felix_change_tag_protocol
                                           -> felix_set_tag_protocol
                                              -> felix_setup_tag_8021q
                                                 -> felix_setup_mmio_filtering
                                                    -> breaks at first CPU port
    
    So probing would have failed earlier if there wasn't any CPU port
    defined.
    
    To avoid all confusion, delete the dead code and replace it with a
    comment.
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d78637a8
felix.c 45.7 KB