================================================================== BUG: KCSAN: data-race in delete_from_page_cache_batch / folio_mapping write to 0xffffea0005bd97d8 of 8 bytes by task 22934 on cpu 0: page_cache_delete_batch mm/filemap.c:322 [inline] delete_from_page_cache_batch+0x35c/0x780 mm/filemap.c:353 truncate_inode_pages_range+0x1d5/0xa00 mm/truncate.c:336 truncate_inode_pages+0x20/0x30 mm/truncate.c:435 kill_bdev block/bdev.c:78 [inline] set_blocksize+0x24e/0x270 block/bdev.c:158 sb_set_blocksize block/bdev.c:167 [inline] sb_min_blocksize+0x92/0x110 block/bdev.c:183 ext4_fill_super+0x3a5/0x78f0 fs/ext4/super.c:3930 mount_bdev+0x1e8/0x290 fs/super.c:1370 ext4_mount+0x2d/0x40 fs/ext4/super.c:6523 legacy_get_tree+0x70/0xc0 fs/fs_context.c:610 vfs_get_tree+0x4a/0x1a0 fs/super.c:1500 do_new_mount fs/namespace.c:2988 [inline] path_mount+0x11cf/0x1c40 fs/namespace.c:3318 do_mount fs/namespace.c:3331 [inline] __do_sys_mount fs/namespace.c:3539 [inline] __se_sys_mount+0x24b/0x2f0 fs/namespace.c:3516 __x64_sys_mount+0x63/0x70 fs/namespace.c:3516 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae read to 0xffffea0005bd97d8 of 8 bytes by task 28053 on cpu 1: folio_mapping+0x92/0x120 mm/util.c:722 folio_evictable mm/internal.h:112 [inline] __pagevec_lru_add_fn+0x81/0x380 mm/swap.c:1042 __pagevec_lru_add+0x1c3/0x270 mm/swap.c:1070 folio_add_lru+0x11a/0x160 mm/swap.c:468 lru_cache_add+0x37/0x50 mm/folio-compat.c:108 shmem_getpage_gfp+0xc08/0x12c0 mm/shmem.c:1941 shmem_getpage mm/shmem.c:150 [inline] shmem_write_begin+0x7e/0x100 mm/shmem.c:2469 generic_perform_write+0x1c8/0x400 mm/filemap.c:3756 __generic_file_write_iter+0xf7/0x2b0 mm/filemap.c:3883 generic_file_write_iter+0x75/0x130 mm/filemap.c:3915 call_write_iter include/linux/fs.h:2162 [inline] new_sync_write fs/read_write.c:503 [inline] vfs_write+0x7f5/0x950 fs/read_write.c:590 ksys_write+0xd9/0x190 fs/read_write.c:643 __do_sys_write fs/read_write.c:655 [inline] __se_sys_write fs/read_write.c:652 [inline] __x64_sys_write+0x3e/0x50 fs/read_write.c:652 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae value changed: 0xffff888101363bb8 -> 0x0000000000000000 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 28053 Comm: udevd Tainted: G W 5.16.0-rc1-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ================================================================== loop2: p1 p2 p3 p4 < p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29 p30 p31 p32 p33 p34 p35 p36 p37 p38 p39 p40 p41 p42 p43 p44 p45 p46 p47 p48 p49 p50 p51 p52 p53 p54 p55 p56 p57 p58 p59 p60 p61 p62 p63 p64 p65 p66 p67 p68 p69 p70 p71 p72 p73 p74 p75 p76 p77 p78 p79 p80 p81 p82 p83 p84 p85 p86 p87 p88 p89 p90 p91 p92 p93 p94 p95 p96 p97 p98 p99 p100 p101 p102 p103 p104 p105 p106 p107 p108 p109 p110 p111 p112 p113 p114 p115 p116 p117 p118 p119 p120 p121 p122 p123 p124 p125 p126 p127 p128 p129 p130 p131 p132 p133 p134 p135 p136 p137 p138 p139 p140 p141 p142 p143 p144 p145 p146 p147 p148 p149 p150 p151 p152 p153 p154 p155 p156 p157 p158 p159 p160 p161 p162 p163 p164 p165 p166 p167 p168 p169 p170 p171 p172 p173 p174 p175 p176 p177 p178 p179 p180 p181 p182 p183 p184 p185 p186 p187 p188 p189 p190 p191 p192 p193 p194 p195 p196 p197 p198 p199 p200 p201 p202 p203 p204 p205 p206 p207 p208 p209 p210 p211 p212 p213 p214 p loop2: p1 start 10 is beyond EOD, truncated loop2: p2 start 6 is beyond EOD, truncated loop2: p3 start 225 is beyond EOD, truncated loop2: p4 size 2 extends beyond EOD, truncated loop2: p5 start 10 is beyond EOD, truncated loop2: p6 start 6 is beyond EOD, truncated loop2: p7 start 225 is beyond EOD, truncated loop2: p8 start 10 is beyond EOD, truncated loop2: p9 start 6 is beyond EOD, truncated loop2: p10 start 225 is beyond EOD, truncated loop2: p11 start 10 is beyond EOD, truncated loop2: p12 start 6 is beyond EOD, truncated loop2: p13 start 225 is beyond EOD, truncated loop2: p14 start 10 is beyond EOD, truncated loop2: p15 start 6 is beyond EOD, truncated loop2: p16 start 225 is beyond EOD, truncated loop2: p17 start 10 is beyond EOD, truncated loop2: p18 start 6 is beyond EOD, truncated loop2: p19 start 225 is beyond EOD, truncated loop2: p20 start 10 is beyond EOD, truncated loop2: p21 start 6 is beyond EOD, truncated loop2: p22 start 225 is beyond EOD, truncated loop2: p23 start 10 is beyond EOD, truncated loop2: p24 start 6 is beyond EOD, truncated loop2: p25 start 225 is beyond EOD, truncated loop2: p26 start 10 is beyond EOD, truncated loop2: p27 start 6 is beyond EOD, truncated loop2: p28 start 225 is beyond EOD, truncated loop2: p29 start 10 is beyond EOD, truncated loop2: p30 start 6 is beyond EOD, truncated loop2: p31 start 225 is beyond EOD, truncated loop2: p32 start 10 is beyond EOD, truncated loop2: p33 start 6 is beyond EOD, truncated loop2: p34 start 225 is beyond EOD, truncated loop2: p35 start 10 is beyond EOD, truncated loop2: p36 start 6 is beyond EOD, truncated loop2: p37 start 225 is beyond EOD, truncated loop2: p38 start 10 is beyond EOD, truncated loop2: p39 start 6 is beyond EOD, truncated loop2: p40 start 225 is beyond EOD, truncated loop2: p41 start 10 is beyond EOD, truncated loop2: p42 start 6 is beyond EOD, truncated loop2: p43 start 225 is beyond EOD, truncated loop2: p44 start 10 is beyond EOD, truncated loop2: p45 start 6 is beyond EOD, truncated loop2: p46 start 225 is beyond EOD, truncated loop2: p47 start 10 is beyond EOD, truncated loop2: p48 start 6 is beyond EOD, truncated loop2: p49 start 225 is beyond EOD, truncated loop2: p50 start 10 is beyond EOD, truncated loop2: p51 start 6 is beyond EOD, truncated loop2: p52 start 225 is beyond EOD, truncated loop2: p53 start 10 is beyond EOD, truncated loop2: p54 start 6 is beyond EOD, truncated loop2: p55 start 225 is beyond EOD, truncated loop2: p56 start 10 is beyond EOD, truncated loop2: p57 start 6 is beyond EOD, truncated loop2: p58 start 225 is beyond EOD, truncated loop2: p59 start 10 is beyond EOD, truncated loop2: p60 start 6 is beyond EOD, truncated loop2: p61 start 225 is beyond EOD, truncated loop2: p62 start 10 is beyond EOD, truncated loop2: p63 start 6 is beyond EOD, truncated loop2: p64 start 225 is beyond EOD, truncated loop2: p65 start 10 is beyond EOD, truncated loop2: p66 start 6 is beyond EOD, truncated loop2: p67 start 225 is beyond EOD, truncated loop2: p68 start 10 is beyond EOD, truncated loop2: p69 start 6 is beyond EOD, truncated loop2: p70 start 225 is beyond EOD, truncated loop2: p71 start 10 is beyond EOD, truncated loop2: p72 start 6 is beyond EOD, truncated loop2: p73 start 225 is beyond EOD, truncated loop2: p74 start 10 is beyond EOD, truncated loop2: p75 start 6 is beyond EOD, truncated loop2: p76 start 225 is beyond EOD, truncated loop2: p77 start 10 is beyond EOD, truncated loop2: p78 start 6 is beyond EOD, truncated loop2: p79 start 225 is beyond EOD, truncated loop2: p80 start 10 is beyond EOD, truncated loop2: p81 start 6 is beyond EOD, truncated loop2: p82 start 225 is beyond EOD, truncated loop2: p83 start 10 is beyond EOD, truncated loop2: p84 start 6 is beyond EOD, truncated loop2: p85 start 225 is beyond EOD, truncated loop2: p86 start 10 is beyond EOD, truncated loop2: p87 start 6 is beyond EOD, truncated loop2: p88 start 225 is beyond EOD, truncated loop2: p89 start 10 is beyond EOD, truncated loop2: p90 start 6 is beyond EOD, truncated loop2: p91 start 225 is beyond EOD, truncated loop2: p92 start 10 is beyond EOD, truncated loop2: p93 start 6 is beyond EOD, truncated loop2: p94 start 225 is beyond EOD, truncated loop2: p95 start 10 is beyond EOD, truncated loop2: p96 start 6 is beyond EOD, truncated loop2: p97 start 225 is beyond EOD, truncated loop2: p98 start 10 is beyond EOD, truncated loop2: p99 start 6 is beyond EOD, truncated loop2: p100 start 225 is beyond EOD, truncated loop2: p101 start 10 is beyond EOD, truncated loop2: p102 start 6 is beyond EOD, truncated loop2: p103 start 225 is beyond EOD, truncated loop2: p104 start 10 is beyond EOD, truncated loop2: p105 start 6 is beyond EOD, truncated loop2: p106 start 225 is beyond EOD, truncated loop2: p107 start 10 is beyond EOD, truncated loop2: p108 start 6 is beyond EOD, truncated loop2: p109 start 225 is beyond EOD, truncated loop2: p110 start 10 is beyond EOD, truncated loop2: p111 start 6 is beyond EOD, truncated loop2: p112 start 225 is beyond EOD, truncated loop2: p113 start 10 is beyond EOD, truncated loop2: p114 start 6 is beyond EOD, truncated loop2: p115 start 225 is beyond EOD, truncated loop2: p116 start 10 is beyond EOD, truncated loop2: p117 start 6 is beyond EOD, truncated loop2: p118 start 225 is beyond EOD, truncated loop2: p119 start 10 is beyond EOD, truncated loop2: p120 start 6 is beyond EOD, truncated loop2: p121 start 225 is beyond EOD, truncated loop2: p122 start 10 is beyond EOD, truncated loop2: p123 start 6 is beyond EOD, truncated loop2: p124 start 225 is beyond EOD, truncated loop2: p125 start 10 is beyond EOD, truncated loop2: p126 start 6 is beyond EOD, truncated loop2: p127 start 225 is beyond EOD, truncated loop2: p128 start 10 is beyond EOD, truncated loop2: p129 start 6 is beyond EOD, truncated loop2: p130 start 225 is beyond EOD, truncated loop2: p131 start 10 is beyond EOD, truncated loop2: p132 start 6 is beyond EOD, truncated loop2: p133 start 225 is beyond EOD, truncated loop2: p134 start 10 is beyond EOD, truncated loop2: p135 start 6 is beyond EOD, truncated loop2: p136 start 225 is beyond EOD, truncated loop2: p137 start 10 is beyond EOD, truncated loop2: p138 start 6 is beyond EOD, truncated loop2: p139 start 225 is beyond EOD, truncated loop2: p140 start 10 is beyond EOD, truncated loop2: p141 start 6 is beyond EOD, truncated loop2: p142 start 225 is beyond EOD, truncated loop2: p143 start 10 is beyond EOD, truncated loop2: p144 start 6 is beyond EOD, truncated loop2: p145 start 225 is beyond EOD, truncated loop2: p146 start 10 is beyond EOD, truncated loop2: p147 start 6 is beyond EOD, truncated loop2: p148 start 225 is beyond EOD, truncated loop2: p149 start 10 is beyond EOD, truncated loop2: p150 start 6 is beyond EOD, truncated loop2: p151 start 225 is beyond EOD, truncated loop2: p152 start 10 is beyond EOD, truncated loop2: p153 start 6 is beyond EOD, truncated loop2: p154 start 225 is beyond EOD, truncated loop2: p155 start 10 is beyond EOD, truncated loop2: p156 start 6 is beyond EOD, truncated loop2: p157 start 225 is beyond EOD, truncated loop2: p158 start 10 is beyond EOD, truncated loop2: p159 start 6 is beyond EOD, truncated loop2: p160 start 225 is beyond EOD, truncated loop2: p161 start 10 is beyond EOD, truncated loop2: p162 start 6 is beyond EOD, truncated loop2: p163 start 225 is beyond EOD, truncated loop2: p164 start 10 is beyond EOD, truncated loop2: p165 start 6 is beyond EOD, truncated loop2: p166 start 225 is beyond EOD, truncated loop2: p167 start 10 is beyond EOD, truncated loop2: p168 start 6 is beyond EOD, truncated loop2: p169 start 225 is beyond EOD, truncated loop2: p170 start 10 is beyond EOD, truncated loop2: p171 start 6 is beyond EOD, truncated loop2: p172 start 225 is beyond EOD, truncated loop2: p173 start 10 is beyond EOD, truncated loop2: p174 start 6 is beyond EOD, truncated loop2: p175 start 225 is beyond EOD, truncated loop2: p176 start 10 is beyond EOD, truncated loop2: p177 start 6 is beyond EOD, truncated loop2: p178 start 225 is beyond EOD, truncated loop2: p179 start 10 is beyond EOD, truncated loop2: p180 start 6 is beyond EOD, truncated loop2: p181 start 225 is beyond EOD, truncated loop2: p182 start 10 is beyond EOD, truncated loop2: p183 start 6 is beyond EOD, truncated loop2: p184 start 225 is beyond EOD, truncated loop2: p185 start 10 is beyond EOD, truncated loop2: p186 start 6 is beyond EOD, truncated loop2: p187 start 225 is beyond EOD, truncated loop2: p188 start 10 is beyond EOD, truncated loop2: p189 start 6 is beyond EOD, truncated loop2: p190 start 225 is beyond EOD, truncated loop2: p191 start 10 is beyond EOD, truncated loop2: p192 start 6 is beyond EOD, truncated loop2: p193 start 225 is beyond EOD, truncated loop2: p194 start 10 is beyond EOD, truncated loop2: p195 start 6 is beyond EOD, truncated loop2: p196 start 225 is beyond EOD, truncated loop2: p197 start 10 is beyond EOD, truncated loop2: p198 start 6 is beyond EOD, truncated loop2: p199 start 225 is beyond EOD, truncated loop2: p200 start 10 is beyond EOD, truncated loop2: p201 start 6 is beyond EOD, truncated loop2: p202 start 225 is beyond EOD, truncated loop2: p203 start 10 is beyond EOD, truncated loop2: p204 start 6 is beyond EOD, truncated loop2: p205 start 225 is beyond EOD, truncated loop2: p206 start 10 is beyond EOD, truncated loop2: p207 start 6 is beyond EOD, truncated loop2: p208 start 225 is beyond EOD, truncated loop2: p209 start 10 is beyond EOD, truncated loop2: p210 start 6 is beyond EOD, truncated loop2: p211 start 225 is beyond EOD, truncated loop2: p212 start 10 is beyond EOD, truncated loop2: p213 start 6 is beyond EOD, truncated loop2: p214 start 225 is beyond EOD, truncated loop2: p215 start 10 is beyond EOD, truncated loop2: p216 start 6 is beyond EOD, truncated loop2: p217 start 225 is beyond EOD, truncated loop2: p218 start 10 is beyond EOD, truncated loop2: p219 start 6 is beyond EOD, truncated loop2: p220 start 225 is beyond EOD, truncated loop2: p221 start 10 is beyond EOD, truncated loop2: p222 start 6 is beyond EOD, truncated loop2: p223 start 225 is beyond EOD, truncated loop2: p224 start 10 is beyond EOD, truncated loop2: p225 start 6 is beyond EOD, truncated loop2: p226 start 225 is beyond EOD, truncated loop2: p227 start 10 is beyond EOD, truncated loop2: p228 start 6 is beyond EOD, truncated loop2: p229 start 225 is beyond EOD, truncated loop2: p230 start 10 is beyond EOD, truncated loop2: p231 start 6 is beyond EOD, truncated loop2: p232 start 225 is beyond EOD, truncated loop2: p233 start 10 is beyond EOD, truncated loop2: p234 start 6 is beyond EOD, truncated loop2: p235 start 225 is beyond EOD, truncated loop2: p236 start 10 is beyond EOD, truncated loop2: p237 start 6 is beyond EOD, truncated loop2: p238 start 225 is beyond EOD, truncated loop2: p239 start 10 is beyond EOD, truncated loop2: p240 start 6 is beyond EOD, truncated loop2: p241 start 225 is beyond EOD, truncated loop2: p242 start 10 is beyond EOD, truncated loop2: p243 start 6 is beyond EOD, truncated loop2: p244 start 225 is beyond EOD, truncated loop2: p245 start 10 is beyond EOD, truncated loop2: p246 start 6 is beyond EOD, truncated loop2: p247 start 225 is beyond EOD, truncated loop2: p248 start 10 is beyond EOD, truncated loop2: p249 start 6 is beyond EOD, truncated loop2: p250 start 225 is beyond EOD, truncated loop2: p251 start 10 is beyond EOD, truncated loop2: p252 start 6 is beyond EOD, truncated loop2: p253 start 225 is beyond EOD, truncated loop2: p254 start 10 is beyond EOD, truncated loop2: p255 start 6 is beyond EOD, truncated