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

open handle leak after setuid()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.9.0
    • Lustre 2.7.0
    • 3
    • 15516

    Description

      MDS_CLOSE RPCs are sent with the current_fs{uid,gid}(). If this id cannot be resolved on the MDT then mdt_close() fails in unpack and the open handle is never released.

      # MOUNT_2=y llmount.sh
      ...
      # id 42
      id: 42: No such user
      # cp /bin/sleep /mnt/lustre/sleep
      # chown 42:42 /mnt/lustre/sleep
      # chmod ug+s /mnt/lustre/sleep
      # /mnt/lustre/sleep 0
      # echo > /mnt/lustre2/sleep
      -bash: /mnt/lustre2/sleep: Text file busy
      
      [  475.032992] LustreError: 6559:0:(file.c:186:ll_close_inode_openhandle()) lustre-clilmv-ffff8802173141c8: inode [0x200000400:0x3:0x0] mdc close failed: rc = -13
      

      Seems a bit broken this way. With the exception of HSM release why check process permissions at close? The open FD (open handle) gives us permission.

      Attachments

        Activity

          People

            hongchao.zhang Hongchao Zhang
            jhammond John Hammond
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: