On Tue, 16 May 2017, Stefano Stabellini wrote: > > > diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c > > > index 86eca19..876e577 100644 > > > --- a/drivers/xen/pvcalls-back.c > > > +++ b/drivers/xen/pvcalls-back.c > > > @@ -44,13 +44,100 @@ struct pvcalls_back_global { > > > struct rw_semaphore privs_lock; > > > } pvcalls_back_global; > > > > > > +struct pvcalls_back_priv { > > > + struct list_head list; > > > + struct xenbus_device *dev; > > > + struct xen_pvcalls_sring *sring; > > > + struct xen_pvcalls_back_ring ring; > > > + int irq; > > > + struct list_head socket_mappings; > > > + struct radix_tree_root socketpass_mappings; > > > + struct rw_semaphore pvcallss_lock; > > > > Same question as before regarding using rw semaphore --- I only see > > down/up_writes. > > And again, you are right. I'll switch it to a regular semaphore. > > > > And what does the name (pvcallss) stand for?
It stands for socket lock. I'll rename it to socket_lock. > > > > > + atomic_t work; > > > + struct workqueue_struct *wq; > > > + struct work_struct register_work; > > > +};