Re: WARNING: locking bug in lock_downgrade

2019-01-09 Thread Tetsuo Handa
OK. I noticed that when downgrade_write() warning is printed, there is always another lockdep warning in progress at the same moment. And I confirmed that downgrade_write() is confused by __debug_locks_off() called by concurrently triggered lockdep warning. In other words, since another lockdep war

Re: WARNING: locking bug in lock_downgrade

2019-01-09 Thread Waiman Long
On 01/09/2019 09:18 AM, Tetsuo Handa wrote: > On 2018/12/14 4:46, Waiman Long wrote: >> On 12/12/2018 08:14 PM, Yang Shi wrote: >>> By looking into lockdep code, I'm not sure if lockdep may get confused >>> by such sequence or not? >>> >>> >>> Any hint is appreciated. >>> >>> >>> Regards, >>> >>> Y

Re: WARNING: locking bug in lock_downgrade

2019-01-09 Thread Tetsuo Handa
On 2018/12/14 4:46, Waiman Long wrote: > On 12/12/2018 08:14 PM, Yang Shi wrote: >> By looking into lockdep code, I'm not sure if lockdep may get confused >> by such sequence or not? >> >> >> Any hint is appreciated. >> >> >> Regards, >> >> Yang > > The warning was printed because hlock->read was

Re: WARNING: locking bug in lock_downgrade

2018-12-13 Thread Waiman Long
On 12/12/2018 08:14 PM, Yang Shi wrote: > Cc'ed Peter, Ingo and Waiman. > > > It took me a few days to look into this warning, but I got lost in > lockdep code. > > > The problem is the commit dd2283f2605e ("mm: mmap: zap pages with read > mmap_sem in munmap") does an optimization for munmap by dow

Re: WARNING: locking bug in lock_downgrade

2018-12-12 Thread Yang Shi
Cc'ed Peter, Ingo and Waiman. It took me a few days to look into this warning, but I got lost in lockdep code. The problem is the commit dd2283f2605e ("mm: mmap: zap pages with read mmap_sem in munmap") does an optimization for munmap by downgrading write mmap_sem to read before zapping pa

WARNING: locking bug in lock_downgrade

2018-11-26 Thread syzbot
Hello, syzbot found the following crash on: HEAD commit:e195ca6cb6f2 Merge branch 'for-linus' of git://git.kernel... git tree: upstream console output: https://syzkaller.appspot.com/x/log.txt?x=12336ed540 kernel config: https://syzkaller.appspot.com/x/.config?x=73e2bc0cb6463446 da