On Mon, Mar 24, 2014 at 01:01:04AM +0530, Monam Agarwal wrote: > This patch replaces rcu_assign_pointer(x, NULL) with RCU_INIT_POINTER(x, NULL) > > The rcu_assign_pointer() ensures that the initialization of a structure > is carried out before storing a pointer to that structure. > And in the case of the NULL pointer, there is no structure to initialize. > So, rcu_assign_pointer(p, NULL) can be safely converted to RCU_INIT_POINTER(p, NULL) > > Signed-off-by: Monam Agarwal <monamagarwal123@xxxxxxxxx> > --- > drivers/crypto/nx/nx-842.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/crypto/nx/nx-842.c b/drivers/crypto/nx/nx-842.c > index 1e5481d..c4fcbf4 100644 > --- a/drivers/crypto/nx/nx-842.c > +++ b/drivers/crypto/nx/nx-842.c > @@ -1234,7 +1234,7 @@ static int __exit nx842_remove(struct vio_dev *viodev) > old_devdata = rcu_dereference_check(devdata, > lockdep_is_held(&devdata_mutex)); > of_reconfig_notifier_unregister(&nx842_of_nb); > - rcu_assign_pointer(devdata, NULL); > + RCU_INIT_POINTER(devdata, NULL); > spin_unlock_irqrestore(&devdata_mutex, flags); > synchronize_rcu(); > dev_set_drvdata(&viodev->dev, NULL); > @@ -1285,7 +1285,7 @@ static void __exit nx842_exit(void) > spin_lock_irqsave(&devdata_mutex, flags); > old_devdata = rcu_dereference_check(devdata, > lockdep_is_held(&devdata_mutex)); > - rcu_assign_pointer(devdata, NULL); > + RCU_INIT_POINTER(devdata, NULL); > spin_unlock_irqrestore(&devdata_mutex, flags); > synchronize_rcu(); > if (old_devdata) This really does't seem right. rcu_assign_pointer users ACCESS_ONCE to protect against multiple loads that allow for concurrent read/write use with parallel rcu_dereference calls, whereas RCU_INIT_POINTER does not. It also just doesn't look right. We've already initalized the pointerin nx842_init, we don't need to re-initalize it here, we need to assign it to NULL. Neil > -- > 1.7.9.5 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-crypto" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html