Details

    • Bug
    • Resolution: Fixed
    • Blocker
    • Lustre 2.17.0
    • Lustre 2.16.1
    • None
    • 3
    • 9223372036854775807

    Description

      u64 lov_stripe_size(struct lov_stripe_md *lsm, int index, u64 ost_size,
                          int stripeno)
      {
              u32 ssize = lsm->lsm_entries[index]->lsme_stripe_size;
      ..
              if (stripe_size)
                      lov_size = ost_size * swidth + stripeno * ssize + stripe_size;
              else
                      lov_size = (ost_size - 1) * swidth + (stripeno + 1) * ssize;
      

       (stripeno + 1) * ssize operates on 2 32-bit integers and may overflow. For instance if stripeno == 31 and ssize == 128 * 1048576.

      The causes miscalculation of file size.

      Attachments

        Issue Links

          Activity

            [LU-19059] overflow in lov_stripe_size()
            pjones Peter Jones made changes -
            Resolution New: Fixed [ 1 ]
            Status Original: Open [ 1 ] New: Resolved [ 5 ]
            adilger Andreas Dilger made changes -
            Link New: This issue is related to EX-12337 [ EX-12337 ]
            adilger Andreas Dilger made changes -
            Affects Version/s New: Lustre 2.16.1 [ 16820 ]
            adilger Andreas Dilger made changes -
            Fix Version/s New: Lustre 2.17.0 [ 16192 ]
            adilger Andreas Dilger made changes -
            Link New: This issue is related to LU-6174 [ LU-6174 ]
            adilger Andreas Dilger made changes -
            Priority Original: Minor [ 4 ] New: Blocker [ 1 ]
            pjones Peter Jones made changes -
            Assignee Original: WC Triage [ wc-triage ] New: Vladimir Saveliev [ vsaveliev ]
            vsaveliev Vladimir Saveliev created issue -

            People

              vsaveliev Vladimir Saveliev
              vsaveliev Vladimir Saveliev
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: