[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220822153944.6204-1-yin31149@gmail.com>
Date: Mon, 22 Aug 2022 23:39:43 +0800
From: Hawkins Jiawei <yin31149@...il.com>
To: dan.carpenter@...cle.com
Cc: davem@...emloft.net, dhowells@...hat.com, edumazet@...gle.com,
khalid.masum.92@...il.com, kuba@...nel.org,
linux-afs@...ts.infradead.org,
linux-kernel-mentees@...ts.linuxfoundation.org,
linux-kernel@...r.kernel.org, marc.dionne@...istor.com,
netdev@...r.kernel.org, pabeni@...hat.com, paskripkin@...il.com,
syzbot+7f0483225d0c94cb3441@...kaller.appspotmail.com,
syzkaller-bugs@...glegroups.com, yin31149@...il.com
Subject: Re: [PATCH] rxrpc: fix bad unlock balance in rxrpc_do_sendmsg
On Mon, 22 Aug 2022 at 22:06, Dan Carpenter <dan.carpenter@...cle.com> wrote:
>
> On Mon, Aug 22, 2022 at 07:55:27PM +0600, Khalid Masum wrote:
> > >
> > > /*
> > > + * @holding_mutex: An indication whether caller can still holds
> > > + * the call->user_mutex when returned to caller.
> >
> > Maybe we can use mutex_is_locked instead of using the holding_mutex
> > parameter to get whether call->user_mutex is still held.
>
> That doesn't work. What if there is contention for the lock and someone
> else took it. Locks under contention are sort of the whole point of
> locking so it's highly likely.
I trid this before, it doesn't work as Dan points out. I think
it seems that mutex_is_locked() only checks whether there is a task
holding the mutex, but do not check whether it is current task holding
mutex. I also tried lockdep_is_held(), lockdep_is_held() seems can detect
call->user_mutex is still held accurately, although this cannot be the patch.
Powered by blists - more mailing lists