syzbot


possible deadlock in process_measurement

Status: auto-obsoleted due to no activity on 2023/01/11 22:20
Reported-by: syzbot+607c3f5980adfa8249f0@syzkaller.appspotmail.com
First crash: 1771d, last: 799d
Similar bugs (6)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream possible deadlock in process_measurement (4) integrity lsm C done 7976 17d 54d 28/28 fixed on 2024/11/14 10:09
upstream possible deadlock in process_measurement (2) integrity lsm C done done 56 1448d 1816d 15/28 fixed on 2021/01/06 01:14
upstream possible deadlock in process_measurement (3) overlayfs C error 223 384d 1291d 0/28 closed as dup on 2023/06/06 09:59
upstream possible deadlock in process_measurement lsm integrity C 51 1996d 2229d 0/28 closed as invalid on 2019/07/15 16:35
linux-6.1 possible deadlock in process_measurement origin:lts-only C unreliable 8 369d 446d 0/3 upstream: reported C repro on 2023/09/02 00:54
linux-5.15 possible deadlock in process_measurement origin:lts-only C done 4 369d 444d 0/3 auto-obsoleted due to no activity on 2024/10/03 14:31

Sample crash report:
audit: type=1800 audit(1663107625.170:554): pid=27920 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="bus" dev="sda1" ino=14506 res=0
======================================================
WARNING: possible circular locking dependency detected
4.19.211-syzkaller #0 Not tainted
------------------------------------------------------
syz-executor.0/27955 is trying to acquire lock:
000000008176f0c0 (&ovl_i_mutex_key[depth]){+.+.}, at: inode_lock include/linux/fs.h:748 [inline]
000000008176f0c0 (&ovl_i_mutex_key[depth]){+.+.}, at: process_measurement+0x926/0x1440 security/integrity/ima/ima_main.c:205

but task is already holding lock:
000000007b44afdc (&sig->cred_guard_mutex){+.+.}, at: prepare_bprm_creds fs/exec.c:1419 [inline]
000000007b44afdc (&sig->cred_guard_mutex){+.+.}, at: __do_execve_file+0x38c/0x2360 fs/exec.c:1762

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #3 (&sig->cred_guard_mutex){+.+.}:
       lock_trace fs/proc/base.c:402 [inline]
       proc_pid_syscall+0xb8/0x2f0 fs/proc/base.c:635
       proc_single_show+0xeb/0x170 fs/proc/base.c:755
       seq_read+0x4e0/0x11c0 fs/seq_file.c:232
       do_loop_readv_writev fs/read_write.c:701 [inline]
       do_loop_readv_writev fs/read_write.c:688 [inline]
       do_iter_read+0x471/0x630 fs/read_write.c:925
       vfs_readv+0xe5/0x150 fs/read_write.c:987
       kernel_readv fs/splice.c:362 [inline]
       default_file_splice_read+0x457/0xa00 fs/splice.c:417
       do_splice_to+0x10e/0x160 fs/splice.c:881
       splice_direct_to_actor+0x2b9/0x8d0 fs/splice.c:959
       do_splice_direct+0x1a7/0x270 fs/splice.c:1068
       do_sendfile+0x550/0xc30 fs/read_write.c:1447
       __do_sys_sendfile64 fs/read_write.c:1508 [inline]
       __se_sys_sendfile64+0x147/0x160 fs/read_write.c:1494
       do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
       entry_SYSCALL_64_after_hwframe+0x49/0xbe

-> #2 (&p->lock){+.+.}:
       seq_read+0x6b/0x11c0 fs/seq_file.c:164
       do_loop_readv_writev fs/read_write.c:701 [inline]
       do_loop_readv_writev fs/read_write.c:688 [inline]
       do_iter_read+0x471/0x630 fs/read_write.c:925
       vfs_readv+0xe5/0x150 fs/read_write.c:987
       kernel_readv fs/splice.c:362 [inline]
       default_file_splice_read+0x457/0xa00 fs/splice.c:417
       do_splice_to+0x10e/0x160 fs/splice.c:881
       splice_direct_to_actor+0x2b9/0x8d0 fs/splice.c:959
       do_splice_direct+0x1a7/0x270 fs/splice.c:1068
       do_sendfile+0x550/0xc30 fs/read_write.c:1447
       __do_sys_sendfile64 fs/read_write.c:1508 [inline]
       __se_sys_sendfile64+0x147/0x160 fs/read_write.c:1494
       do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
       entry_SYSCALL_64_after_hwframe+0x49/0xbe

-> #1 (sb_writers#7){.+.+}:
       sb_start_write include/linux/fs.h:1579 [inline]
       mnt_want_write+0x3a/0xb0 fs/namespace.c:360
       ovl_link+0x73/0x2b0 fs/overlayfs/dir.c:676
       vfs_link+0x7e6/0xc80 fs/namei.c:4243
       do_linkat+0x52a/0x810 fs/namei.c:4311
       __do_sys_link fs/namei.c:4340 [inline]
       __se_sys_link fs/namei.c:4338 [inline]
       __x64_sys_link+0x5d/0x80 fs/namei.c:4338
       do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
       entry_SYSCALL_64_after_hwframe+0x49/0xbe

-> #0 (&ovl_i_mutex_key[depth]){+.+.}:
       down_write+0x34/0x90 kernel/locking/rwsem.c:70
       inode_lock include/linux/fs.h:748 [inline]
       process_measurement+0x926/0x1440 security/integrity/ima/ima_main.c:205
       ima_file_check+0xb9/0x100 security/integrity/ima/ima_main.c:391
       do_last fs/namei.c:3425 [inline]
       path_openat+0x7e4/0x2df0 fs/namei.c:3537
       do_filp_open+0x18c/0x3f0 fs/namei.c:3567
       do_open_execat+0x11d/0x5b0 fs/exec.c:853
       __do_execve_file+0x1a8b/0x2360 fs/exec.c:1770
       do_execveat_common fs/exec.c:1879 [inline]
       do_execveat+0x3d/0x50 fs/exec.c:1907
       __do_sys_execveat fs/exec.c:1988 [inline]
       __se_sys_execveat fs/exec.c:1980 [inline]
       __x64_sys_execveat+0xe1/0x120 fs/exec.c:1980
       do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
       entry_SYSCALL_64_after_hwframe+0x49/0xbe

other info that might help us debug this:

Chain exists of:
  &ovl_i_mutex_key[depth] --> &p->lock --> &sig->cred_guard_mutex

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&sig->cred_guard_mutex);
                               lock(&p->lock);
                               lock(&sig->cred_guard_mutex);
  lock(&ovl_i_mutex_key[depth]);

 *** DEADLOCK ***

1 lock held by syz-executor.0/27955:
 #0: 000000007b44afdc (&sig->cred_guard_mutex){+.+.}, at: prepare_bprm_creds fs/exec.c:1419 [inline]
 #0: 000000007b44afdc (&sig->cred_guard_mutex){+.+.}, at: __do_execve_file+0x38c/0x2360 fs/exec.c:1762

stack backtrace:
CPU: 1 PID: 27955 Comm: syz-executor.0 Not tainted 4.19.211-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/26/2022
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1fc/0x2ef lib/dump_stack.c:118
 print_circular_bug.constprop.0.cold+0x2d7/0x41e kernel/locking/lockdep.c:1222
 check_prev_add kernel/locking/lockdep.c:1866 [inline]
 check_prevs_add kernel/locking/lockdep.c:1979 [inline]
 validate_chain kernel/locking/lockdep.c:2420 [inline]
 __lock_acquire+0x30c9/0x3ff0 kernel/locking/lockdep.c:3416
 lock_acquire+0x170/0x3c0 kernel/locking/lockdep.c:3908
 down_write+0x34/0x90 kernel/locking/rwsem.c:70
 inode_lock include/linux/fs.h:748 [inline]
 process_measurement+0x926/0x1440 security/integrity/ima/ima_main.c:205
 ima_file_check+0xb9/0x100 security/integrity/ima/ima_main.c:391
 do_last fs/namei.c:3425 [inline]
 path_openat+0x7e4/0x2df0 fs/namei.c:3537
 do_filp_open+0x18c/0x3f0 fs/namei.c:3567
 do_open_execat+0x11d/0x5b0 fs/exec.c:853
 __do_execve_file+0x1a8b/0x2360 fs/exec.c:1770
 do_execveat_common fs/exec.c:1879 [inline]
 do_execveat+0x3d/0x50 fs/exec.c:1907
 __do_sys_execveat fs/exec.c:1988 [inline]
 __se_sys_execveat fs/exec.c:1980 [inline]
 __x64_sys_execveat+0xe1/0x120 fs/exec.c:1980
 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f3b6bab7409
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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:00007f3b6a42c168 EFLAGS: 00000246 ORIG_RAX: 0000000000000142
RAX: ffffffffffffffda RBX: 00007f3b6bbc9f80 RCX: 00007f3b6bab7409
RDX: 0000000000000000 RSI: 0000000020000040 RDI: ffffffffffffff9c
RBP: 00007f3b6bb12367 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffd23c5280f R14: 00007f3b6a42c300 R15: 0000000000022000
audit: type=1800 audit(1663107627.350:556): pid=28031 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="file0" dev="sda1" ino=13898 res=0
audit: type=1804 audit(1663107626.970:555): pid=27993 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir62034263/syzkaller.OGrM4b/6233/file0/bus" dev="sda1" ino=13901 res=1
audit: type=1800 audit(1663107627.400:557): pid=27993 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="bus" dev="sda1" ino=13901 res=0
tmpfs: Bad mount option smaceloor
audit: type=1800 audit(1663107628.270:558): pid=28098 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="file0" dev="sda1" ino=13945 res=0
wlan1: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)
tmpfs: Bad mount option smaceloor
tmpfs: Bad mount option smaceloor
tmpfs: Bad mount option smaceloor
tmpfs: Bad mount option smaceloor
tmpfs: Bad mount option smaceloor
tmpfs: Bad mount option smaceloor
audit: type=1800 audit(1663107629.111:560): pid=28141 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="file0" dev="sda1" ino=13900 res=0
audit: type=1804 audit(1663107628.800:559): pid=28114 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir3012388648/syzkaller.NIo5xs/54/bus" dev="sda1" ino=13883 res=1
audit: type=1800 audit(1663107629.411:561): pid=28114 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.0" name="bus" dev="sda1" ino=13883 res=0
tmpfs: Bad mount option smaceloor
tmpfs: Bad mount option smaceloor
tmpfs: Bad mount option smaceloor
tmpfs: Bad mount option smaceloor
tmpfs: Bad mount option smaceloor
tmpfs: Bad mount option smaceloor
tmpfs: Bad mount option smaceloor
audit: type=1804 audit(1663107630.101:562): pid=28190 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir3463215253/syzkaller.lfkFSN/5823/bus" dev="sda1" ino=13994 res=1
tmpfs: Bad mount option smaceloor
tmpfs: Bad mount option smaceloor
audit: type=1800 audit(1663107630.201:563): pid=28217 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="file0" dev="sda1" ino=13901 res=0
audit: type=1800 audit(1663107630.511:564): pid=28190 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.1" name="bus" dev="sda1" ino=13994 res=0
audit: type=1800 audit(1663107630.851:565): pid=28259 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.4" name="file1" dev="sda1" ino=14361 res=0
audit: type=1804 audit(1663107631.541:566): pid=28292 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.2" name="/root/syzkaller-testdir961900498/syzkaller.DaLozT/6157/bus" dev="sda1" ino=14328 res=1
audit: type=1804 audit(1663107631.611:567): pid=28294 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir3463215253/syzkaller.lfkFSN/5824/bus" dev="sda1" ino=14209 res=1
audit: type=1800 audit(1663107631.611:568): pid=28294 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.1" name="bus" dev="sda1" ino=14209 res=0
bridge0: port 2(bridge_slave_1) entered disabled state
bridge0: port 1(bridge_slave_0) entered disabled state
batman_adv: batadv0: Interface deactivated: batadv_slave_0
batman_adv: batadv0: Interface deactivated: batadv_slave_1
wlan1: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)

Crashes (156):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/09/13 22:20 linux-4.19.y 3f8a27f9e27b b884348d .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/09/04 05:40 linux-4.19.y 3f8a27f9e27b 28811d0a .config console log report info [disk image] [vmlinux] ci2-linux-4-19 possible deadlock in process_measurement
2022/09/03 00:44 linux-4.19.y 3f8a27f9e27b 25194605 .config console log report info [disk image] [vmlinux] ci2-linux-4-19 possible deadlock in process_measurement
2022/07/30 00:14 linux-4.19.y 3f8a27f9e27b fef302b1 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/07/10 17:38 linux-4.19.y 3f8a27f9e27b b5765a15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/07/03 05:29 linux-4.19.y 3f8a27f9e27b 1434eec0 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/24 13:39 linux-4.19.y 3f8a27f9e27b a371c43c .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/16 03:30 linux-4.19.y 3f8a27f9e27b 1719ee24 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/15 13:11 linux-4.19.y 3f8a27f9e27b 1719ee24 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/12 22:54 linux-4.19.y 3f8a27f9e27b 0d5abf15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/12 18:15 linux-4.19.y 3f8a27f9e27b 0d5abf15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/12 14:46 linux-4.19.y 3f8a27f9e27b 0d5abf15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/12 11:39 linux-4.19.y 3f8a27f9e27b 0d5abf15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/12 08:21 linux-4.19.y 3f8a27f9e27b 0d5abf15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/11 07:22 linux-4.19.y 3f8a27f9e27b 0d5abf15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/11 02:46 linux-4.19.y 3f8a27f9e27b 0d5abf15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/10 13:49 linux-4.19.y 3f8a27f9e27b 0d5abf15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/10 12:03 linux-4.19.y 3f8a27f9e27b 0d5abf15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/10 08:29 linux-4.19.y 3f8a27f9e27b 0d5abf15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/09 21:44 linux-4.19.y 3f8a27f9e27b 0d5abf15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/09 17:36 linux-4.19.y 3f8a27f9e27b 0d5abf15 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/03 21:03 linux-4.19.y 3f8a27f9e27b eee80d3c .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/03 13:01 linux-4.19.y 3f8a27f9e27b eee80d3c .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/03 04:15 linux-4.19.y 3f8a27f9e27b 02dddea8 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/06/02 08:38 linux-4.19.y 3f8a27f9e27b 5783034f .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/31 22:15 linux-4.19.y 3f8a27f9e27b 3666edfe .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/31 12:31 linux-4.19.y 3f8a27f9e27b af70c3a9 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/31 03:22 linux-4.19.y 3f8a27f9e27b af70c3a9 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/27 09:54 linux-4.19.y 3f8a27f9e27b 116e7a7b .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/25 15:05 linux-4.19.y 3f8a27f9e27b 3037caa9 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/25 12:33 linux-4.19.y 3f8a27f9e27b 647c0e27 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/23 20:29 linux-4.19.y 3f8a27f9e27b 4c7657cb .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/23 15:39 linux-4.19.y 3f8a27f9e27b 4c7657cb .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/23 08:44 linux-4.19.y 3f8a27f9e27b 7268fa62 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/22 23:46 linux-4.19.y 3f8a27f9e27b 7268fa62 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/22 14:11 linux-4.19.y 3f8a27f9e27b 7268fa62 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/20 04:00 linux-4.19.y 3f8a27f9e27b cb1ac2e7 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/18 03:38 linux-4.19.y 3f8a27f9e27b 744a39e2 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/17 18:00 linux-4.19.y 3f8a27f9e27b 744a39e2 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/13 10:52 linux-4.19.y 3f8a27f9e27b 7ce5a022 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/06 13:24 linux-4.19.y 3f8a27f9e27b efeff0a5 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/05 22:27 linux-4.19.y 3f8a27f9e27b efeff0a5 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/05 06:11 linux-4.19.y 3f8a27f9e27b dc9e5259 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/04 21:51 linux-4.19.y 3f8a27f9e27b dc9e5259 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/04 07:57 linux-4.19.y 3f8a27f9e27b dc9e5259 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/05/03 03:23 linux-4.19.y 3f8a27f9e27b 2df221f6 .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2022/03/20 15:14 linux-4.19.y 3f8a27f9e27b e2d91b1d .config console log report info ci2-linux-4-19 possible deadlock in process_measurement
2020/12/31 14:30 linux-4.19.y 3207316b3bee 79264ae3 .config console log report info ci2-linux-4-19
2020/01/15 21:20 linux-4.19.y db5b9190ff82 f9b69507 .config console log report ci2-linux-4-19
* Struck through repros no longer work on HEAD.