bisecting fixing commit since da690031a5d6d50a361e3f19f3eeabd086a6f20d building syzkaller on 4a77ae0bdc5cd75ebe88ce7c896aae6bbf457a29 testing commit da690031a5d6d50a361e3f19f3eeabd086a6f20d with gcc (GCC) 8.1.0 kernel signature: 14577dd124e56608cddb835be55cdfccebc3367f8f385b332ce586017115b768 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in __ext4_journal_get_write_access testing current HEAD 5ee863bec794f30bdf7fdf57ce0d9f579b0d1aa3 testing commit 5ee863bec794f30bdf7fdf57ce0d9f579b0d1aa3 with gcc (GCC) 8.1.0 kernel signature: b6c0ca394920b939d9ced80100364a44d60a03eb7acc66ae114d3ddb9752b495 all runs: OK # git bisect start 5ee863bec794f30bdf7fdf57ce0d9f579b0d1aa3 da690031a5d6d50a361e3f19f3eeabd086a6f20d Bisecting: 13069 revisions left to test after this (roughly 14 steps) [9313f8026328d0309d093f6774be4b8f5340c0e5] Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost testing commit 9313f8026328d0309d093f6774be4b8f5340c0e5 with gcc (GCC) 8.1.0 kernel signature: 614790a2b737b4d029ca2c84c51a609c5695836a2670052545163c5db1be20f2 all runs: OK # git bisect bad 9313f8026328d0309d093f6774be4b8f5340c0e5 Bisecting: 6134 revisions left to test after this (roughly 13 steps) [93b694d096cc10994c817730d4d50288f9ae3d66] Merge tag 'drm-next-2020-10-15' of git://anongit.freedesktop.org/drm/drm testing commit 93b694d096cc10994c817730d4d50288f9ae3d66 with gcc (GCC) 8.1.0 kernel signature: d6738677dacee109900c714cff047003a7bf4b89e3f5838fe86be041b125e867 all runs: OK # git bisect bad 93b694d096cc10994c817730d4d50288f9ae3d66 Bisecting: 3475 revisions left to test after this (roughly 12 steps) [4815519ed0af833884ce9c288183bf1ae3cb9caa] Merge tag 'for-5.10/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm testing commit 4815519ed0af833884ce9c288183bf1ae3cb9caa with gcc (GCC) 8.1.0 kernel signature: 1aadfdaa9de982f30f89a0e5e89cecf8272a3b84415b375f751a0dd475c840f5 all runs: OK # git bisect bad 4815519ed0af833884ce9c288183bf1ae3cb9caa Bisecting: 1507 revisions left to test after this (roughly 11 steps) [fd5c32d80884268a381ed0e67cccef0b3d37750b] Merge tag 'media/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media testing commit fd5c32d80884268a381ed0e67cccef0b3d37750b with gcc (GCC) 8.1.0 kernel signature: 7dac099b7908ca614b06da1414612c658707d2ef1049280b595d998da5555a01 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in __ext4_journal_get_write_access # git bisect good fd5c32d80884268a381ed0e67cccef0b3d37750b Bisecting: 747 revisions left to test after this (roughly 10 steps) [7cd4ecd9177b94af783b8e21de7c65b41a871342] Merge tag 'drivers-5.10-2020-10-12' of git://git.kernel.dk/linux-block testing commit 7cd4ecd9177b94af783b8e21de7c65b41a871342 with gcc (GCC) 8.1.0 kernel signature: 8cdb7466684e565bb8f762a510488cf1bf4515bdee6353e43fccec3e3b385c8d all runs: OK # git bisect bad 7cd4ecd9177b94af783b8e21de7c65b41a871342 Bisecting: 350 revisions left to test after this (roughly 9 steps) [c4439713e82a0d746e533ae5ddd7dfa832e2a486] Merge tag 'hwmon-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging testing commit c4439713e82a0d746e533ae5ddd7dfa832e2a486 with gcc (GCC) 8.1.0 kernel signature: 3ac8629f5e486a1e85f7e0d2f79bb84d2f126829b62af4e676958164cb57b979 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in __ext4_journal_get_write_access # git bisect good c4439713e82a0d746e533ae5ddd7dfa832e2a486 Bisecting: 175 revisions left to test after this (roughly 8 steps) [17e4aed8309ff28670271546c2c3263eb12f5eb6] bcache: remove 'int n' from parameter list of bch_bucket_alloc_set() testing commit 17e4aed8309ff28670271546c2c3263eb12f5eb6 with gcc (GCC) 8.1.0 kernel signature: 089c098759414330261500edc079b886943e9d6f477a97d430a900418ecf145b all runs: OK # git bisect bad 17e4aed8309ff28670271546c2c3263eb12f5eb6 Bisecting: 87 revisions left to test after this (roughly 7 steps) [77f93bfd0cc2e659d7135b4afcd5d0a070515bbf] xsysace: simplify media change handling testing commit 77f93bfd0cc2e659d7135b4afcd5d0a070515bbf with gcc (GCC) 8.1.0 kernel signature: 28c508696c6d432e109d9674c6bd8bd0bd2aa33f664016d14964688e40bbfe6d all runs: OK # git bisect bad 77f93bfd0cc2e659d7135b4afcd5d0a070515bbf Bisecting: 43 revisions left to test after this (roughly 6 steps) [c421a3eb2e27402c14131a14390551ae6cdb15fa] blk-iocost: revamp debt handling testing commit c421a3eb2e27402c14131a14390551ae6cdb15fa with gcc (GCC) 8.1.0 kernel signature: 97217fbe2ba107ea91dcd843204f2e979c92dc97a66392b063efa99a96432cac all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in __ext4_journal_get_write_access # git bisect good c421a3eb2e27402c14131a14390551ae6cdb15fa Bisecting: 21 revisions left to test after this (roughly 5 steps) [4d063237b92a4e8d99350ad05492a45009a3c78c] blk-mq: Free tags in blk_mq_init_tags() upon error testing commit 4d063237b92a4e8d99350ad05492a45009a3c78c with gcc (GCC) 8.1.0 kernel signature: 09d2fcf68cd59c26bec2d6609743558dbcf0c2e419a94d6f5fc0b5a3188dc13b all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in __ext4_journal_get_write_access # git bisect good 4d063237b92a4e8d99350ad05492a45009a3c78c Bisecting: 10 revisions left to test after this (roughly 4 steps) [e75ad2cc41832bae3218e3d6f38b3f03ae0a41df] blktrace: make function blk_trace_bio_get_cgid() static testing commit e75ad2cc41832bae3218e3d6f38b3f03ae0a41df with gcc (GCC) 8.1.0 kernel signature: aa132cb4e1e69ae4a548b150b00882e3386dfc022bc4b3521b0a2769ba1a601b all runs: OK # git bisect bad e75ad2cc41832bae3218e3d6f38b3f03ae0a41df Bisecting: 5 revisions left to test after this (roughly 3 steps) [bccf5e26d99c28980bd6ced474422a1b18402263] blk-mq: Record nr_active_requests per queue for when using shared sbitmap testing commit bccf5e26d99c28980bd6ced474422a1b18402263 with gcc (GCC) 8.1.0 kernel signature: ad1547ae5c8da1b938701efbdc92cf420c07e56cf081ec925b0703d252ac5597 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in __ext4_journal_get_write_access # git bisect good bccf5e26d99c28980bd6ced474422a1b18402263 Bisecting: 2 revisions left to test after this (roughly 2 steps) [6dbf7bb555981fb5faf7b691e8f6169fc2b2e63b] fs: Don't invalidate page buffers in block_write_full_page() testing commit 6dbf7bb555981fb5faf7b691e8f6169fc2b2e63b with gcc (GCC) 8.1.0 kernel signature: 0d4fe56dad247a70fda8feb611508afa941f30d84dcbfafe5d166cd1c195be0c all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in __ext4_journal_get_write_access # git bisect good 6dbf7bb555981fb5faf7b691e8f6169fc2b2e63b Bisecting: 0 revisions left to test after this (roughly 1 step) [ddfb8b0beda1c371a44897c0359adccf030f7c58] block: Remove unused blk_mq_sched_free_hctx_data() testing commit ddfb8b0beda1c371a44897c0359adccf030f7c58 with gcc (GCC) 8.1.0 kernel signature: aa132cb4e1e69ae4a548b150b00882e3386dfc022bc4b3521b0a2769ba1a601b all runs: OK # git bisect bad ddfb8b0beda1c371a44897c0359adccf030f7c58 Bisecting: 0 revisions left to test after this (roughly 0 steps) [384d87ef2c954fc58e6c5fd8253e4a1984f5fe02] block: Do not discard buffers under a mounted filesystem testing commit 384d87ef2c954fc58e6c5fd8253e4a1984f5fe02 with gcc (GCC) 8.1.0 kernel signature: 16c6a3bc9f473033c7512221cfcf48923fefd0d92f29d6aac8b2c5ba9bb5737b all runs: OK # git bisect bad 384d87ef2c954fc58e6c5fd8253e4a1984f5fe02 384d87ef2c954fc58e6c5fd8253e4a1984f5fe02 is the first bad commit commit 384d87ef2c954fc58e6c5fd8253e4a1984f5fe02 Author: Jan Kara Date: Fri Sep 4 10:58:52 2020 +0200 block: Do not discard buffers under a mounted filesystem Discarding blocks and buffers under a mounted filesystem is hardly anything admin wants to do. Usually it will confuse the filesystem and sometimes the loss of buffer_head state (including b_private field) can even cause crashes like: BUG: unable to handle kernel NULL pointer dereference at 0000000000000008 PGD 0 P4D 0 Oops: 0002 [#1] SMP PTI CPU: 4 PID: 203778 Comm: jbd2/dm-3-8 Kdump: loaded Tainted: G O --------- - - 4.18.0-147.5.0.5.h126.eulerosv2r9.x86_64 #1 Hardware name: Huawei RH2288H V3/BC11HGSA0, BIOS 1.57 08/11/2015 RIP: 0010:jbd2_journal_grab_journal_head+0x1b/0x40 [jbd2] ... Call Trace: __jbd2_journal_insert_checkpoint+0x23/0x70 [jbd2] jbd2_journal_commit_transaction+0x155f/0x1b60 [jbd2] kjournald2+0xbd/0x270 [jbd2] So if we don't have block device open with O_EXCL already, claim the block device while we truncate buffer cache. This makes sure any exclusive block device user (such as filesystem) cannot operate on the device while we are discarding buffer cache. Reported-by: Ye Bin Signed-off-by: Jan Kara Reviewed-by: Christoph Hellwig [axboe: fix !CONFIG_BLOCK error in truncate_bdev_range()] Signed-off-by: Jens Axboe block/ioctl.c | 16 ++++++++++------ fs/block_dev.c | 37 +++++++++++++++++++++++++++++++++---- include/linux/blkdev.h | 7 +++++++ 3 files changed, 50 insertions(+), 10 deletions(-) culprit signature: 16c6a3bc9f473033c7512221cfcf48923fefd0d92f29d6aac8b2c5ba9bb5737b parent signature: 0d4fe56dad247a70fda8feb611508afa941f30d84dcbfafe5d166cd1c195be0c revisions tested: 17, total time: 3h32m46.378709506s (build: 1h27m0.269204044s, test: 2h3m54.209359565s) first good commit: 384d87ef2c954fc58e6c5fd8253e4a1984f5fe02 block: Do not discard buffers under a mounted filesystem recipients (to): ["axboe@kernel.dk" "hch@lst.de" "jack@suse.cz"] recipients (cc): []