Paul E. McKenney schrieb: > On Fri, Feb 08, 2008 at 03:10:00PM +0100, [EMAIL PROTECTED] wrote: >> From: Frank Blaschka <[EMAIL PROTECTED]> >> >> List of major changes and improvements: >> no manipulation of the global ARP constructor >> clean code split into core, layer 2 and layer 3 functionality >> better exploitation of the ethtool interface >> better representation of the various hardware capabilities >> fix packet socket support (tcpdump), no fake_ll required >> osasnmpd notification via udev events >> coding style and beautification > > One question below... > >> Signed-off-by: Frank Blaschka <[EMAIL PROTECTED]> >> --- > > [ . . . ] > >> +static void qeth_l3_vlan_rx_add_vid(struct net_device *dev, unsigned short >> vid) >> +{ >> + struct net_device *vlandev; >> + struct qeth_card *card = (struct qeth_card *) dev->priv; >> + struct in_device *in_dev; >> + >> + if (card->info.type == QETH_CARD_TYPE_IQD) >> + return; >> + >> + vlandev = vlan_group_get_device(card->vlangrp, vid); >> + vlandev->neigh_setup = qeth_l3_neigh_setup; >> + >> + in_dev = __in_dev_get_rcu(vlandev); > > Is this really in an RCU read-side critical section? Or is this just > using common code? > > Thanx, Paul > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html >
Hi Paul, thanks for pointing at this. Using __in_dev_get_rcu without the rcu lock is probably a bug at this place (right?). Using in_dev_get/in_dev_put would be more appropriate. Same for qeth_l3_free_vlan_addresses4(), here we take the rcu read lock, but in_dev_get/in_dev_put would be the better choice. What do you think? Best regards, Frank -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html