Hari,

> -----Original Message-----
> From: Kanigeri, Hari
> Sent: Thursday, July 29, 2010 6:44 PM
> To: Marathe, Yogesh; Premi, Sanjeev; Linux Omap; Tony Lindgren
> Cc: Shilimkar, Santosh; Cousson, Benoit; Que, Simon
> Subject: RE: [PATCH 3/5] omap:hwspinlock-added hwspinlock driver
> 
> Yogesh,
> 
> Nice to see your email.
> 
> > > > +/* Release a spinlock */
> > > > +int hwspinlock_unlock(struct hwspinlock *handle)
> > > > +{
> > > > +     if (WARN_ON(handle == NULL))
> > > > +             return -EINVAL;
> > > > +
> > > > +     /* Release it by writing 0 to it */
> > > > +     writel(0, handle->lock_reg);
> >
> > [[Yogesh Marathe]] Releasing the spinlock without knowing who owns it is
> > risky. There should be a check for ownership and if authenticated user has
> > called this api  only then it should be released otherwise permission
> > denied error should be returned.
> 
> -- I think if there is another Kernel client that is trying to release that 
> is not owned by
> it then that Kernel client itself is buggy and needs to be fixed. Please 
> share your
> thoughts on how we can ensure that we can add some protection.

[Yogesh Marathe] I agree the client has to be fixed but at least the client 
should get some error message instead of crashing someone else. I think if 
hwspinlock_request() and hwspinlock_request_specific() can keep the owner info 
(say thread id) in some module state structure it is possible to verify against 
it before acquiring and releasing the lock. 
 
> 
> 
> >
> > > > +
> > > > +     pm_runtime_put(&handle->pdev->dev);
> > > > +
> > > > +     return 0;
> 
> Thank you,
> Best regards,
> Hari
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to