Re: rcu read-side protection

From: Paul E. McKenney
Date: Tue Aug 16 2005 - 21:01:45 EST


On Tue, Aug 16, 2005 at 05:09:29PM -0700, Suzanne Wood wrote:
[ . . . ]
> A read-side critical section is marked to protect the dereference of the
> dn_ptr and assignment to dn_db which is a pointer to a dn_dev. (struct
> net_device is defined in /linux/netdevice.h and its dn_ptr in
> /include/net/dn_dev.h) Should this rcu-protection be extended to the line
> following rcu_read_lock()? Even though use_long is a simple char, it
> appears to be a member of an rcu-protected structure.

Looks to me that this could indeed be a problem -- the structure
pointed to by dn_db could potentially be freed immediately after the
rcu_read_unlock(), unless there is some other non-obvious locking
mechanism protecting it. In which case, why the rcu_read_lock()
and rcu_read_unlock()...

Thanx, Paul
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/