Re: inconsistent lock state in rxrpc_put_client_conn

From: David Howells
Date: Thu Feb 06 2020 - 08:09:48 EST


Hillf Danton <hdanton@xxxxxxxx> wrote:

> Take lock with irq quiesced.

I think that's overkill. It only needs _bh annotations, not _irqsave/restore
- but even that is probably not the best way.

The best way is to offload the stuff done by rxrpc_rcu_destroy_call() to a
workqueue if called in softirq mode. I'm not sure whether rcu callbacks are
done in softirq mode - if they are, then it can just call rxrpc_queue_work().

David