Re: [Linux-cachefs] [PATCH 00/67] fscache: Rewrite index API and management system
From: Marc Dionne <marc.dionne@auristor.com>
Date: 2021-10-19 13:36:55
Also in:
ceph-devel, linux-cifs, linux-fsdevel, linux-nfs, lkml
On Mon, Oct 18, 2021 at 11:50 AM David Howells [off-list ref] wrote:
Here's a set of patches that rewrites and simplifies the fscache index API to remove the complex operation scheduling and object state machine in favour of something much smaller and simpler. It is built on top of the set of patches that removes the old API[1].
Testing this series in our afs test framework, saw the oops pasted below. cachefiles_begin_operation+0x2d maps to cachefiles/io.c:565, where object is probably NULL (object->file is at offset 0x28). Marc === BUG: kernel NULL pointer dereference, address: 0000000000000028 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 [#1] SMP NOPTI CPU: 5 PID: 16607 Comm: ar Tainted: G E 5.15.0-rc5.kafs_testing+ #37 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2.fc34 04/01/2014 RIP: 0010:cachefiles_begin_operation+0x2d/0x80 [cachefiles] Code: 00 00 55 53 48 83 ec 08 48 8b 47 08 48 83 7f 10 00 48 8b 68 20 74 0c b8 01 00 00 00 48 83 c4 08 5b 5d c3 48 c7 07 a0 12 1b a0 <48> 8b 45 28 48 89 fb 48 85 c0 74 20 48 8d 7d 04 89 74 24 04 e8 3a RSP: 0018:ffffc90000d33b48 EFLAGS: 00010246 RAX: ffff888014991420 RBX: ffff888100ae9cf0 RCX: 0000000000000000 RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffff888100ae9cf0 RBP: 0000000000000000 R08: 00000000000006b8 R09: ffff88810e98e000 R10: 0000000000000000 R11: 0000000000000000 R12: ffff888014991434 R13: 0000000000000002 R14: ffff888014991420 R15: 0000000000000002 FS: 00007f72d0486b80(0000) GS:ffff888139940000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000028 CR3: 000000007bac8004 CR4: 0000000000770ee0 PKRU: 55555554 Call Trace: fscache_begin_operation.part.0+0x1e3/0x210 [fscache] netfs_write_begin+0x3fb/0x800 [netfs] ? __fscache_use_cookie+0x120/0x200 [fscache] afs_write_begin+0x58/0x2c0 [kafs] ? __vfs_getxattr+0x2a/0x70 generic_perform_write+0xb1/0x1b0 ? file_update_time+0xcf/0x120 __generic_file_write_iter+0x14c/0x1d0 generic_file_write_iter+0x5d/0xb0 afs_file_write+0x73/0xa0 [kafs] new_sync_write+0x105/0x180 vfs_write+0x1cb/0x260 ksys_write+0x4f/0xc0 do_syscall_64+0x35/0x80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f72d059a7a7 Code: 0d 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24 RSP: 002b:00007fffc31942b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000008 RCX: 00007f72d059a7a7 RDX: 0000000000000008 RSI: 000055fe42367730 RDI: 0000000000000003 RBP: 000055fe42367730 R08: 0000000000000000 R09: 00007f72d066ca00 R10: 000000000000007c R11: 0000000000000246 R12: 0000000000000008