[PATCH 2/6] mailbox: Not protect module_put with spin_lock_irqsave
"Peng Fan (OSS)" <[email protected]> Fri, 11 Apr 2025 21:14:10 +0800
| Newsgroups | dev.linux.lists.mailbox,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Peng Fan <[email protected]> &chan->lock is not supposed to protect 'chan->mbox'. And in __mbox_bind_client, try_module_get is also not protected by &chan->lock. So move module_put out of the lock protected region. Signed-off-by: Peng Fan <[email protected]> --- drivers/mailbox/mailbox.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c index e5e2a66355a712e71a92e4ad339e99d7ff8e34be..3ecf92a580fef031d8add5e4c2e4df494a34010a 100644 --- a/drivers/mailbox/mailbox.c +++ b/drivers/mailbox/mailbox.c @@ -486,8 +486,8 @@ void mbox_free_channel(struct mbox_chan *chan) if (chan->txdone_method == TXDONE_BY_ACK) chan->txdone_method = TXDONE_BY_POLL; - module_put(chan->mbox->dev->driver->owner); spin_unlock_irqrestore(&chan->lock, flags); + module_put(chan->mbox->dev->driver->owner); } EXPORT_SYMBOL_GPL(mbox_free_channel); -- 2.37.1