Does LOCKDEP work on ARM64?
From: Dmitry Vyukov
Date: Sat Oct 24 2020 - 05:52:14 EST
Hello ARM64/LOCKDEP maintainers,
I've started experimenting with running syzkaller on ARM64 using
QEMU/TCG. Total execution speed is very low and it ran just a handful
of tests, but I am seeing massive amounts of locking bugs. Most of
these were not observed on x86_64, while x86_64 ran gazillions of
tests by now and most of these are trivial to trigger (depend only on
call stack) and they do not look ARM64-specific. So I wonder:
1. Are there any known issues with LOCKDEP on ARM64?
2. Or are all these real and it's x86_64 LOCKDEP that's misbehaving?
3. Or are both x86_64 and ARM64 fine and these are just somehow ARM64-specific?
Here are details. Kernel is on
f9893351acaecf0a414baf9942b48d5bb5c688c6 (recent upstream HEAD).
Kernel config:
https://gist.githubusercontent.com/dvyukov/c92a1e08f3f7e22b1f0387096d98b18b/raw/9f79f83c3b018ac27a040649f7d0fef36b63b960/gistfile1.txt
Here is one "Invalid wait context". It looks like just a put_user
inside of syscall function:
https://gist.githubusercontent.com/dvyukov/15639a949278a981c8eb125b3088a6b8/raw/286117bc292578c07c8afbf0fa563cd5528821e7/gistfile1.txt
Here is one "bad unlock balance detected". The looks well balanced and
the code path is well exercised:
https://gist.githubusercontent.com/dvyukov/805f867823b9f77a26c2ebedec5b9b9e/raw/2e6605fb5c90f56ebd1ccda78d613b5c219dfb82/gistfile1.txt
Here is one "workqueue leaked lock". Again, lock/unlock are very local
and there is no control flow in between:
https://gist.githubusercontent.com/dvyukov/4d18d35a79d7e74bf66d6e7ec3794ec0/raw/1ff3e2a5d3a825eb0d196af1f81c67a47fa3a2f6/gistfile1.txt
Here is one confusing "bad unlock balance detected":
https://gist.githubusercontent.com/dvyukov/e222fa34e04104678c52a5b5b1ad15a3/raw/943c6ebbc022418b89fa63b6282fa1f1f40a276a/gistfile1.txt
Here is one confusing "suspicious RCU usage":
https://gist.githubusercontent.com/dvyukov/77b0ec246e1db86e549a80e4a11ec218/raw/0bce97be186c0a6617d8835a694443ed1aa2a98a/gistfile1.txt
Overall I have more than 50 of these now.