On Tue, Jan 23, 2018 at 10:54:33AM -0700, Jason Gunthorpe wrote: > On Mon, Jan 22, 2018 at 02:51:14PM +0200, Leon Romanovsky wrote: > > + mutex_lock(&dev->res.mutex); > > + hash_del_rcu(&res->node); > > + mutex_unlock(&dev->res.mutex); > > + > > + res->valid = false; > > + > > + if (res->task) > > + put_task_struct(res->task); > > + synchronize_srcu(&dev->res.srcu); > > +} > > This locking is wrong.. Actually, just don't use RCU. We can't afford to call synchronize_srcu in the destroy() path of every object and the netlink user is not critical enough to bother optimizing the read side. Replace the rcu and the mutex with a simple rwlock. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html