Re: [PATCH] rxrpc: struct mutex cannot be used for rxrpc_call::user_mutex

From: Peter Zijlstra
Date: Wed Dec 18 2019 - 15:39:54 EST


On Wed, Dec 18, 2019 at 11:08:33AM -0800, Davidlohr Bueso wrote:
> On Wed, 18 Dec 2019, Peter Zijlstra wrote:
>
> > On Tue, Dec 17, 2019 at 03:32:00PM +0000, David Howells wrote:
> > > Standard kernel mutexes cannot be used in any way from interrupt or softirq
> > > context, so the user_mutex which manages access to a call cannot be a mutex
> > > since on a new call the mutex must start off locked and be unlocked within
> > > the softirq handler to prevent userspace interfering with a call we're
> > > setting up.
> > >
> > > Commit a0855d24fc22d49cdc25664fb224caee16998683 ("locking/mutex: Complain
> > > upon mutex API misuse in IRQ contexts") causes big warnings to be splashed
> > > in dmesg for each a new call that comes in from the server.
> >
> > FYI that patch has currently been reverted.
> >
> > commit c571b72e2b845ca0519670cb7c4b5fe5f56498a5 (tip/locking/urgent, tip/locking-urgent-for-linus)
>
> Will we ever want to re-add this warning (along with writer rwsems) at some point?

Yes, we can try again for the next cycle.