1. 12 Aug, 2022 2 commits
  2. 11 Aug, 2022 2 commits
  3. 10 Aug, 2022 1 commit
    • Paulo Alcantara's avatar
      cifs: fix lock length calculation · 773891ff
      Paulo Alcantara authored
      The lock length was wrongly set to 0 when fl_end == OFFSET_MAX, thus
      failing to lock the whole file when l_start=0 and l_len=0.
      
      This fixes test 2 from cthon04.
      
      Before patch:
      
      $ ./cthon04/lock/tlocklfs -t 2 /mnt
      
      Creating parent/child synchronization pipes.
      
      Test #1 - Test regions of an unlocked file.
              Parent: 1.1  - F_TEST  [               0,               1] PASSED.
              Parent: 1.2  - F_TEST  [               0,          ENDING] PASSED.
              Parent: 1.3  - F_TEST  [               0,7fffffffffffffff] PASSED.
              Parent: 1.4  - F_TEST  [               1,               1] PASSED.
              Parent: 1.5  - F_TEST  [               1,          ENDING] PASSED.
              Parent: 1.6  - F_TEST  [               1,7fffffffffffffff] PASSED.
              Parent: 1.7  - F_TEST  [7fffffffffffffff,               1] PASSED.
              Parent: 1.8  - F_TEST  [7fffffffffffffff,          ENDING] PASSED.
              Parent: 1.9  - F_TEST  [7fffffffffffffff,7fffffffffffffff] PASSED.
      
      Test #2 - Try to lock the whole file.
              Parent: 2.0  - F_TLOCK [               0,          ENDING] PASSED.
              Child:  2.1  - F_TEST  [               0,               1] FAILED!
              Child:  **** Expected EACCES, returned success...
              Child:  **** Probably implementation error.
      
      **  CHILD pass 1 results: 0/0 pass, 0/0 warn, 1/1 fail (pass/total).
              Parent: Child died
      
      ** PARENT pass 1 results: 10/10 pass, 0/0 warn, 0/0 fail (pass/total).
      
      After patch:
      
      $ ./cthon04/lock/tlocklfs -t 2 /mnt
      
      Creating parent/child synchronization pipes.
      
      Test #2 - Try to lock the whole file.
              Parent: 2.0  - F_TLOCK [               0,          ENDING] PASSED.
              Child:  2.1  - F_TEST  [               0,               1] PASSED.
              Child:  2.2  - F_TEST  [               0,          ENDING] PASSED.
              Child:  2.3  - F_TEST  [               0,7fffffffffffffff] PASSED.
              Child:  2.4  - F_TEST  [               1,               1] PASSED.
              Child:  2.5  - F_TEST  [               1,          ENDING] PASSED.
              Child:  2.6  - F_TEST  [               1,7fffffffffffffff] PASSED.
              Child:  2.7  - F_TEST  [7fffffffffffffff,               1] PASSED.
              Child:  2.8  - F_TEST  [7fffffffffffffff,          ENDING] PASSED.
              Child:  2.9  - F_TEST  [7fffffffffffffff,7fffffffffffffff] PASSED.
              Parent: 2.10 - F_ULOCK [               0,          ENDING] PASSED.
      
      ** PARENT pass 1 results: 2/2 pass, 0/0 warn, 0/0 fail (pass/total).
      
      **  CHILD pass 1 results: 9/9 pass, 0/0 warn, 0/0 fail (pass/total).
      
      Fixes: d80c6984 ("cifs: fix signed integer overflow when fl_end is OFFSET_MAX")
      Reported-by: default avatarXiaoli Feng <xifeng@redhat.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarPaulo Alcantara (SUSE) <pc@cjr.nz>
      Reviewed-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      773891ff
  4. 05 Aug, 2022 5 commits
  5. 01 Aug, 2022 14 commits
  6. 31 Jul, 2022 6 commits
  7. 30 Jul, 2022 2 commits
  8. 29 Jul, 2022 8 commits