> On Mar 23, 2016, at 23:39, Douglas Fuller <dfuller@xxxxxxxxxx> wrote: > > >> +#define ceph_try_get_string(x) \ >> +({ \ >> + struct ceph_string *___str; \ >> + rcu_read_lock(); \ >> + ___str = rcu_dereference(x); \ >> + if (___str && !kref_get_unless_zero(&___str->kref)) \ >> + ___str = NULL; \ >> + rcu_read_unlock(); \ >> + (___str); \ > > Isn’t this an unsafe use of __str? As I understand it, it could be updated after rcu_read_unlock(). where does it get updated? Regards Yan, Zheng > >> +}) > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html