Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
Kernel >= 6.7-rc3
-
3
-
9223372036854775807
Description
Starting with presumably Kernel v6.7-rc3, a new AT_GETATTR_NOSEC flag can be passed in addition by vfs_getattr_nosec() to the underlying FS getattr() interface routine.
So it must be handled/masked in ll_vfs_getattr() in order to avoid to pass it back to vfs_getattr(), like already done by ecryptfs/overlayfs and thus no longer get this warning/stack :
2024-05-31T09:38:35.738513-07:00 babel0164 kernel: ------------[ cut here ]------------ 2024-05-31T09:38:35.738532-07:00 babel0164 kernel: WARNING: CPU: 1 PID: 556200 at fs/stat.c:170 vfs_getattr+0x62/0x80 ...................... 2024-05-31T09:38:35.738555-07:00 babel0164 kernel: RIP: 0010:vfs_getattr+0x62/0x80 2024-05-31T09:38:35.738556-07:00 babel0164 kernel: Code: c3 cc cc cc cc 89 d9 44 89 ea 4c 89 e6 4c 89 f7 e8 a3 fe ff ff 5b 41 5c 41 5d 41 5e 5d 31 d2 31 c9 31 f6 31 ff c3 cc cc cc cc <0f> 0b b8 ff ff ff ff 31 d2 31 c9 31 f6 31 ff c3 cc cc cc cc 66 2e 2024-05-31T09:38:35.738557-07:00 babel0164 kernel: RSP: 0018:ff32067b9c57fad8 EFLAGS: 00010286 2024-05-31T09:38:35.738558-07:00 babel0164 kernel: RAX: ff1d4eaf1ab0b740 RBX: ff1d4eaa69102aa0 RCX: 0000000080000000 2024-05-31T09:38:35.738559-07:00 babel0164 kernel: RDX: 00000000000007ff RSI: ff32067b9c57fb00 RDI: ff1d4eaa55995588 2024-05-31T09:38:35.738560-07:00 babel0164 kernel: RBP: ff32067b9c57fbd0 R08: 0000000000000000 R09: 0000000000000000 2024-05-31T09:38:35.738560-07:00 babel0164 kernel: R10: 0000000000000000 R11: 0000000000000000 R12: ff32067b9c57fc08 2024-05-31T09:38:35.738561-07:00 babel0164 kernel: R13: ff32067b9c57fb00 R14: 00000000000007ff R15: 0000000080000000 2024-05-31T09:38:35.738561-07:00 babel0164 kernel: FS: 00007ffff7c4f740(0000) GS:ff1d4fa5bc880000(0000) knlGS:0000000000000000 2024-05-31T09:38:35.738562-07:00 babel0164 kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 2024-05-31T09:38:35.738562-07:00 babel0164 kernel: CR2: 00007fff1d264710 CR3: 0000000c66244001 CR4: 0000000000f71ef0 2024-05-31T09:38:35.738563-07:00 babel0164 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 2024-05-31T09:38:35.738563-07:00 babel0164 kernel: DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400 2024-05-31T09:38:35.738564-07:00 babel0164 kernel: PKRU: 55555554 2024-05-31T09:38:35.738565-07:00 babel0164 kernel: Call Trace: 2024-05-31T09:38:35.738566-07:00 babel0164 kernel: <TASK> 2024-05-31T09:38:35.738566-07:00 babel0164 kernel: ? show_regs+0x6d/0x80 2024-05-31T09:38:35.738567-07:00 babel0164 kernel: ? __warn+0x89/0x160 2024-05-31T09:38:35.738567-07:00 babel0164 kernel: ? vfs_getattr+0x62/0x80 2024-05-31T09:38:35.738568-07:00 babel0164 kernel: ? report_bug+0x17e/0x1b0 2024-05-31T09:38:35.738569-07:00 babel0164 kernel: ? handle_bug+0x51/0xa0 2024-05-31T09:38:35.738570-07:00 babel0164 kernel: ? exc_invalid_op+0x18/0x80 2024-05-31T09:38:35.738570-07:00 babel0164 kernel: ? asm_exc_invalid_op+0x1b/0x20 2024-05-31T09:38:35.738570-07:00 babel0164 kernel: ? vfs_getattr+0x62/0x80 2024-05-31T09:38:35.738571-07:00 babel0164 kernel: ? pcc_inode_getattr+0x1c8/0x410 [lustre] 2024-05-31T09:38:35.738571-07:00 babel0164 kernel: ll_getattr_dentry+0x510/0xb00 [lustre] 2024-05-31T09:38:35.738572-07:00 babel0164 kernel: ? common_perm_cond+0x4e/0x200 2024-05-31T09:38:35.738572-07:00 babel0164 kernel: ll_getattr+0x1d/0x40 [lustre] 2024-05-31T09:38:35.738573-07:00 babel0164 kernel: vfs_getattr_nosec+0xb7/0x100 2024-05-31T09:38:35.738573-07:00 babel0164 kernel: vfs_statx+0x16f/0x1d0 2024-05-31T09:38:35.738573-07:00 babel0164 kernel: vfs_fstatat+0xaa/0xe0 2024-05-31T09:38:35.738574-07:00 babel0164 kernel: __do_sys_newfstatat+0x44/0x90 2024-05-31T09:38:35.738574-07:00 babel0164 kernel: __x64_sys_newfstatat+0x1c/0x30 2024-05-31T09:38:35.738575-07:00 babel0164 kernel: x64_sys_call+0x1e22/0x25c0 2024-05-31T09:38:35.738575-07:00 babel0164 kernel: do_syscall_64+0x7f/0x180 2024-05-31T09:38:35.738575-07:00 babel0164 kernel: ? __count_memcg_events+0x6b/0x120 2024-05-31T09:38:35.738576-07:00 babel0164 kernel: ? count_memcg_events.constprop.0+0x2a/0x50 2024-05-31T09:38:35.738576-07:00 babel0164 kernel: ? handle_mm_fault+0xad/0x380 2024-05-31T09:38:35.738576-07:00 babel0164 kernel: ? do_user_addr_fault+0x338/0x6b0 2024-05-31T09:38:35.738577-07:00 babel0164 kernel: ? irqentry_exit_to_user_mode+0x7b/0x260 2024-05-31T09:38:35.738578-07:00 babel0164 kernel: ? irqentry_exit+0x43/0x50 2024-05-31T09:38:35.738578-07:00 babel0164 kernel: ? exc_page_fault+0x94/0x1b0 2024-05-31T09:38:35.738578-07:00 babel0164 kernel: entry_SYSCALL_64_after_hwframe+0x73/0x7b 2024-05-31T09:38:35.738578-07:00 babel0164 kernel: RIP: 0033:0x7ffff7d67d3e 2024-05-31T09:38:35.738579-07:00 babel0164 kernel: Code: 48 89 f2 b9 00 01 00 00 48 89 fe bf 9c ff ff ff e9 07 00 00 00 0f 1f 80 00 00 00 00 f3 0f 1e fa 41 89 ca b8 06 01 00 00 0f 05 <3d> 00 f0 ff ff 77 0b 31 c0 c3 0f 1f 84 00 00 00 00 00 48 8b 15 b9 2024-05-31T09:38:35.738579-07:00 babel0164 kernel: RSP: 002b:00007fffffff6fe8 EFLAGS: 00000246 ORIG_RAX: 0000000000000106 2024-05-31T09:38:35.738579-07:00 babel0164 kernel: RAX: ffffffffffffffda RBX: 0000555555af5ac0 RCX: 00007ffff7d67d3e 2024-05-31T09:38:35.738580-07:00 babel0164 kernel: RDX: 00007fffffff7080 RSI: 00007ffca9ad5250 RDI: 00000000ffffff9c 2024-05-31T09:38:35.738581-07:00 babel0164 kernel: RBP: 0000555555b5aea0 R08: 0000000000000000 R09: 0000000000000000 2024-05-31T09:38:35.738581-07:00 babel0164 kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 00007fffffff7080 2024-05-31T09:38:35.738581-07:00 babel0164 kernel: R13: 00007ffff7bec590 R14: 00000000ffffff9c R15: 0000555555af5c70 2024-05-31T09:38:35.738581-07:00 babel0164 kernel: </TASK> 2024-05-31T09:38:35.738591-07:00 babel0164 kernel: ---[ end trace 0000000000000000 ]---
looks like problem can only occur when using LPCC feature.
I will cook a patch and attach it to ticket soon.