Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-17900

Handle AT_GETATTR_NOSEC

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Lustre 2.16.0
    • 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.

       

       

       

      Attachments

        Activity

          People

            bfaccini-nvda Bruno Faccini
            bfaccini-nvda Bruno Faccini
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: