From: syzbot <syzbot+b42fe626038981fb7bfa@syzkaller.appspotmail.com>
To: hdanton@sina.com, linux-fsdevel@vger.kernel.org,
linux-integrity@vger.kernel.org, linux-kernel@vger.kernel.org,
miklos@szeredi.hu, syzkaller-bugs@googlegroups.com,
viro@zeniv.linux.org.uk, zohar@linux.ibm.com, zohar@us.ibm.com
Subject: Re: [syzbot] possible deadlock in mnt_want_write (2)
Date: Sat, 02 Jul 2022 10:27:30 -0700 [thread overview]
Message-ID: <000000000000466f0d05e2d5d1d1@google.com> (raw)
In-Reply-To: <00000000000067d24205c4d0e599@google.com>
syzbot has found a reproducer for the following issue on:
HEAD commit: 089866061428 Merge tag 'libnvdimm-fixes-5.19-rc5' of git:/..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=11dd91f0080000
kernel config: https://syzkaller.appspot.com/x/.config?x=75c9ff14e1db87c0
dashboard link: https://syzkaller.appspot.com/bug?extid=b42fe626038981fb7bfa
compiler: Debian clang version 13.0.1-++20220126092033+75e33f71c2da-1~exp1~20220126212112.63, GNU ld (GNU Binutils for Debian) 2.35.2
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=167bafc0080000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=11aad3e0080000
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b42fe626038981fb7bfa@syzkaller.appspotmail.com
======================================================
WARNING: possible circular locking dependency detected
5.19.0-rc4-syzkaller-00187-g089866061428 #0 Not tainted
------------------------------------------------------
syz-executor450/3829 is trying to acquire lock:
ffff88807e574460 (sb_writers#4){.+.+}-{0:0}, at: mnt_want_write+0x3b/0x80 fs/namespace.c:393
but task is already holding lock:
ffff888074de91a0 (&iint->mutex){+.+.}-{3:3}, at: process_measurement+0x7d2/0x1c10 security/integrity/ima/ima_main.c:260
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #1 (&iint->mutex){+.+.}-{3:3}:
lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5665
__mutex_lock_common+0x1de/0x26c0 kernel/locking/mutex.c:603
__mutex_lock kernel/locking/mutex.c:747 [inline]
mutex_lock_nested+0x17/0x20 kernel/locking/mutex.c:799
process_measurement+0x7d2/0x1c10 security/integrity/ima/ima_main.c:260
ima_file_check+0xe7/0x160 security/integrity/ima/ima_main.c:517
do_open fs/namei.c:3522 [inline]
path_openat+0x2705/0x2ec0 fs/namei.c:3653
do_filp_open+0x277/0x4f0 fs/namei.c:3680
do_sys_openat2+0x13b/0x500 fs/open.c:1278
do_sys_open fs/open.c:1294 [inline]
__do_sys_open fs/open.c:1302 [inline]
__se_sys_open fs/open.c:1298 [inline]
__x64_sys_open+0x221/0x270 fs/open.c:1298
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x46/0xb0
-> #0 (sb_writers#4){.+.+}-{0:0}:
check_prev_add kernel/locking/lockdep.c:3095 [inline]
check_prevs_add kernel/locking/lockdep.c:3214 [inline]
validate_chain+0x185c/0x65c0 kernel/locking/lockdep.c:3829
__lock_acquire+0x129a/0x1f80 kernel/locking/lockdep.c:5053
lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5665
percpu_down_read include/linux/percpu-rwsem.h:51 [inline]
__sb_start_write include/linux/fs.h:1699 [inline]
sb_start_write+0x4d/0x1a0 include/linux/fs.h:1774
mnt_want_write+0x3b/0x80 fs/namespace.c:393
ovl_maybe_copy_up+0x124/0x190 fs/overlayfs/copy_up.c:1078
ovl_open+0x106/0x2a0 fs/overlayfs/file.c:152
do_dentry_open+0x789/0x1040 fs/open.c:848
vfs_open fs/open.c:981 [inline]
dentry_open+0xc1/0x120 fs/open.c:997
ima_calc_file_hash+0x157/0x1cb0 security/integrity/ima/ima_crypto.c:557
ima_collect_measurement+0x3de/0x850 security/integrity/ima/ima_api.c:292
process_measurement+0xf87/0x1c10 security/integrity/ima/ima_main.c:337
ima_file_check+0xe7/0x160 security/integrity/ima/ima_main.c:517
do_open fs/namei.c:3522 [inline]
path_openat+0x2705/0x2ec0 fs/namei.c:3653
do_filp_open+0x277/0x4f0 fs/namei.c:3680
do_sys_openat2+0x13b/0x500 fs/open.c:1278
do_sys_open fs/open.c:1294 [inline]
__do_sys_open fs/open.c:1302 [inline]
__se_sys_open fs/open.c:1298 [inline]
__x64_sys_open+0x221/0x270 fs/open.c:1298
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x46/0xb0
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
lock(&iint->mutex);
lock(sb_writers#4);
lock(&iint->mutex);
lock(sb_writers#4);
*** DEADLOCK ***
1 lock held by syz-executor450/3829:
#0: ffff888074de91a0 (&iint->mutex){+.+.}-{3:3}, at: process_measurement+0x7d2/0x1c10 security/integrity/ima/ima_main.c:260
stack backtrace:
CPU: 1 PID: 3829 Comm: syz-executor450 Not tainted 5.19.0-rc4-syzkaller-00187-g089866061428 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/2022
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
check_noncircular+0x2f7/0x3b0 kernel/locking/lockdep.c:2175
check_prev_add kernel/locking/lockdep.c:3095 [inline]
check_prevs_add kernel/locking/lockdep.c:3214 [inline]
validate_chain+0x185c/0x65c0 kernel/locking/lockdep.c:3829
__lock_acquire+0x129a/0x1f80 kernel/locking/lockdep.c:5053
lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5665
percpu_down_read include/linux/percpu-rwsem.h:51 [inline]
__sb_start_write include/linux/fs.h:1699 [inline]
sb_start_write+0x4d/0x1a0 include/linux/fs.h:1774
mnt_want_write+0x3b/0x80 fs/namespace.c:393
ovl_maybe_copy_up+0x124/0x190 fs/overlayfs/copy_up.c:1078
ovl_open+0x106/0x2a0 fs/overlayfs/file.c:152
do_dentry_open+0x789/0x1040 fs/open.c:848
vfs_open fs/open.c:981 [inline]
dentry_open+0xc1/0x120 fs/open.c:997
ima_calc_file_hash+0x157/0x1cb0 security/integrity/ima/ima_crypto.c:557
ima_collect_measurement+0x3de/0x850 security/integrity/ima/ima_api.c:292
process_measurement+0xf87/0x1c10 security/integrity/ima/ima_main.c:337
ima_file_check+0xe7/0x160 security/integrity/ima/ima_main.c:517
do_open fs/namei.c:3522 [inline]
path_openat+0x2705/0x2ec0 fs/namei.c:3653
do_filp_open+0x277/0x4f0 fs/namei.c:3680
do_sys_openat2+0x13b/0x500 fs/open.c:1278
do_sys_open fs/open.c:1294 [inline]
__do_sys_open fs/open.c:1302 [inline]
__se_sys_open fs/open.c:1298 [inline]
__x64_sys_open+0x221/0x270 fs/open.c:1298
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x46/0xb0
RIP: 0033:0x7faf98402749
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 31 16 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007faf9838e2f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000002
RAX: ffffffffffffffda RBX: 00007faf98491270 RCX: 00007faf98402749
RDX: 0000000000000000 RSI: 000000000000000b RDI: 00000000200000c0
RBP: 00007faf98458504 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0030656c69662f2e
R13: 3d7269647265776f R14: 0079616c7265766f R15: 00007faf98491278
</TASK>
next prev parent reply other threads:[~2022-07-02 17:27 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-15 16:59 [syzbot] possible deadlock in mnt_want_write (2) syzbot
2021-07-19 15:11 ` Miklos Szeredi
2021-07-22 13:50 ` Mimi Zohar
2022-07-02 17:27 ` syzbot [this message]
2022-07-05 12:53 ` Mimi Zohar
2022-07-06 12:10 ` Hillf Danton
2022-07-06 22:24 ` Mimi Zohar
2023-06-06 9:12 ` Miklos Szeredi
2023-06-06 9:12 ` syzbot
2023-06-06 9:13 ` Miklos Szeredi
2023-10-04 16:45 ` [syzbot] [integrity] [overlayfs] " syzbot
2023-10-05 9:36 ` Amir Goldstein
2023-10-05 9:59 ` syzbot
2023-10-05 10:26 ` Amir Goldstein
2023-10-05 10:46 ` syzbot
2023-10-05 11:47 ` Mimi Zohar
2023-10-05 13:22 ` Amir Goldstein
2023-10-05 13:35 ` Mimi Zohar
[not found] <20220703013354.1025-1-hdanton@sina.com>
2022-07-03 6:42 ` [syzbot] " syzbot
[not found] <20220703070714.1237-1-hdanton@sina.com>
2022-07-03 7:40 ` syzbot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=000000000000466f0d05e2d5d1d1@google.com \
--to=syzbot+b42fe626038981fb7bfa@syzkaller.appspotmail.com \
--cc=hdanton@sina.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=syzkaller-bugs@googlegroups.com \
--cc=viro@zeniv.linux.org.uk \
--cc=zohar@linux.ibm.com \
--cc=zohar@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.