All of lore.kernel.org
 help / color / mirror / Atom feed
* [android-common:upstream-f2fs-stable-linux-4.14.y 903/1043] fs/crypto/bio.c:96:23: warning: Checking if unsigned variable 'nr_pages' is less than zero.
@ 2020-06-14 17:07 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-06-14 17:07 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 40850 bytes --]

tree:   https://android.googlesource.com/kernel/common upstream-f2fs-stable-linux-4.14.y
head:   a3a7060dbf1cbd67200c603af058706a8affb127
commit: bee5bd5b8f2ec1010f53d66aa26ac9b23dcdf271 [903/1043] fscrypt: optimize fscrypt_zeroout_range()
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


cppcheck warnings: (new ones prefixed by >>)

>> fs/ubifs/super.c:1238:6: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment]
    err = ubifs_read_superblock(c);
        ^
   fs/ubifs/super.c:1210:6: note: Variable 'err' is reassigned a value before the old one has been used.
    err = -ENOMEM;
        ^
   fs/ubifs/super.c:1238:6: note: Variable 'err' is reassigned a value before the old one has been used.
    err = ubifs_read_superblock(c);
        ^
>> fs/ubifs/super.c:2162:54: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
     err = ubifs_fill_super(sb, data, flags & MS_SILENT ? 1 : 0);
                                                        ^
--
>> fs/ubifs/sb.c:843:9: warning: Identical condition 'err', second condition is always false [identicalConditionAfterEarlyExit]
    return err;
           ^
   fs/ubifs/sb.c:839:6: note: first condition
    if (err)
        ^
   fs/ubifs/sb.c:843:9: note: second condition
    return err;
           ^
>> fs/unicode/utf8-selftest.c:190:3: warning: Conversion of string literal "" to bool always evaluates to true. [incorrectStringBooleanError]
     test((utf8len(data, nfdi_test_data[i].str) == nlen));
     ^
   fs/unicode/utf8-selftest.c:191:3: warning: Conversion of string literal "" to bool always evaluates to true. [incorrectStringBooleanError]
     test((utf8nlen(data, nfdi_test_data[i].str, len) == nlen));
     ^
   fs/unicode/utf8-selftest.c:197:4: warning: Conversion of string literal "Unexpected byte 0x%x should be 0x%xn" to bool always evaluates to true. [incorrectStringBooleanError]
      test_f((c == nfdi_test_data[i].dec[j]),
      ^
   fs/unicode/utf8-selftest.c:203:3: warning: Conversion of string literal "" to bool always evaluates to true. [incorrectStringBooleanError]
     test((j == nlen));
     ^
   fs/unicode/utf8-selftest.c:226:3: warning: Conversion of string literal "" to bool always evaluates to true. [incorrectStringBooleanError]
     test((utf8len(data, nfdicf_test_data[i].str) == nlen));
     ^
   fs/unicode/utf8-selftest.c:227:3: warning: Conversion of string literal "" to bool always evaluates to true. [incorrectStringBooleanError]
     test((utf8nlen(data, nfdicf_test_data[i].str, len) == nlen));
     ^
   fs/unicode/utf8-selftest.c:233:4: warning: Conversion of string literal "Unexpected byte 0x%x should be 0x%xn" to bool always evaluates to true. [incorrectStringBooleanError]
      test_f((c == nfdicf_test_data[i].ncf[j]),
      ^
   fs/unicode/utf8-selftest.c:239:3: warning: Conversion of string literal "" to bool always evaluates to true. [incorrectStringBooleanError]
     test((j == nlen));
     ^
   fs/unicode/utf8-selftest.c:260:3: warning: Conversion of string literal "%s %s comparison mismatchn" to bool always evaluates to true. [incorrectStringBooleanError]
     test_f(!utf8_strncmp(table, &s1, &s2),
     ^
   fs/unicode/utf8-selftest.c:270:3: warning: Conversion of string literal "%s %s comparison mismatchn" to bool always evaluates to true. [incorrectStringBooleanError]
     test_f(!utf8_strncasecmp(table, &s1, &s2),
     ^
   fs/unicode/utf8-selftest.c:280:2: warning: Conversion of string literal "" to bool always evaluates to true. [incorrectStringBooleanError]
    test(utf8version_is_supported(7, 0, 0));
    ^
   fs/unicode/utf8-selftest.c:283:2: warning: Conversion of string literal "" to bool always evaluates to true. [incorrectStringBooleanError]
    test(utf8version_is_supported(9, 0, 0));
    ^
   fs/unicode/utf8-selftest.c:286:2: warning: Conversion of string literal "" to bool always evaluates to true. [incorrectStringBooleanError]
    test(utf8version_is_supported(latest_maj, latest_min, latest_rev));
    ^
   fs/unicode/utf8-selftest.c:289:2: warning: Conversion of string literal "" to bool always evaluates to true. [incorrectStringBooleanError]
    test(!utf8version_is_supported(13, 0, 0));
    ^
   fs/unicode/utf8-selftest.c:290:2: warning: Conversion of string literal "" to bool always evaluates to true. [incorrectStringBooleanError]
    test(!utf8version_is_supported(0, 0, 0));
    ^
   fs/unicode/utf8-selftest.c:291:2: warning: Conversion of string literal "" to bool always evaluates to true. [incorrectStringBooleanError]
    test(!utf8version_is_supported(-1, -1, -1));
    ^
--
>> fs/verity/enable.c:150:6: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment]
    err = 0;
        ^
   fs/verity/enable.c:121:0: note: Variable 'err' is reassigned a value before the old one has been used.
    int err = -ENOMEM;
   ^
   fs/verity/enable.c:150:6: note: Variable 'err' is reassigned a value before the old one has been used.
    err = 0;
        ^
--
>> fs/locks.c:587:8: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
    error = lease_init(filp, type, fl);
          ^
   fs/locks.c:582:0: note: Variable 'error' is reassigned a value before the old one has been used.
    int error = -ENOMEM;
   ^
   fs/locks.c:587:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = lease_init(filp, type, fl);
          ^
   fs/locks.c:976:9: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
     error = FILE_LOCK_DEFERRED;
           ^
   fs/locks.c:973:9: note: Variable 'error' is reassigned a value before the old one has been used.
     error = -EAGAIN;
           ^
   fs/locks.c:976:9: note: Variable 'error' is reassigned a value before the old one has been used.
     error = FILE_LOCK_DEFERRED;
           ^
   fs/locks.c:1046:10: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
      error = -EDEADLK;
            ^
   fs/locks.c:1039:10: note: Variable 'error' is reassigned a value before the old one has been used.
      error = -EAGAIN;
            ^
   fs/locks.c:1046:10: note: Variable 'error' is reassigned a value before the old one has been used.
      error = -EDEADLK;
            ^
   fs/locks.c:1158:8: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
    error = -ENOLCK; /* "no luck" */
          ^
   fs/locks.c:1140:11: note: Variable 'error' is reassigned a value before the old one has been used.
       error = -ENOLCK;
             ^
   fs/locks.c:1158:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = -ENOLCK; /* "no luck" */
          ^
   fs/locks.c:1162:8: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
    error = 0;
          ^
   fs/locks.c:1158:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = -ENOLCK; /* "no luck" */
          ^
   fs/locks.c:1162:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = 0;
          ^
   fs/locks.c:1752:8: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
    error = -EINVAL;
          ^
   fs/locks.c:1722:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = -EAGAIN;
          ^
   fs/locks.c:1752:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = -EINVAL;
          ^
   fs/locks.c:1767:8: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
    error = check_conflicting_open(dentry, arg, lease->fl_flags);
          ^
   fs/locks.c:1752:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = -EINVAL;
          ^
   fs/locks.c:1767:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = check_conflicting_open(dentry, arg, lease->fl_flags);
          ^
   fs/locks.c:2024:8: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
    error = security_file_lock(f.file, lock->fl_type);
          ^
   fs/locks.c:2003:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = -EBADF;
          ^
   fs/locks.c:2024:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = security_file_lock(f.file, lock->fl_type);
          ^
   fs/locks.c:2140:8: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
    error = flock_to_posix_lock(filp, fl, flock);
          ^
   fs/locks.c:2136:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = -EINVAL;
          ^
   fs/locks.c:2140:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = flock_to_posix_lock(filp, fl, flock);
          ^
   fs/locks.c:2154:8: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
    error = vfs_test_lock(filp, fl);
          ^
   fs/locks.c:2145:9: note: Variable 'error' is reassigned a value before the old one has been used.
     error = -EINVAL;
           ^
   fs/locks.c:2154:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = vfs_test_lock(filp, fl);
          ^
>> fs/locks.c:2308:8: warning: Variable 'error' is reassigned a value before the old one has been used. 'break;' missing? [redundantAssignInSwitch]
    error = do_lock_file_wait(filp, cmd, file_lock);
          ^
   fs/locks.c:2287:9: note: Variable 'error' is reassigned a value before the old one has been used. 'break;' missing?
     error = -EINVAL;
           ^
   fs/locks.c:2308:8: note: Variable 'error' is reassigned a value before the old one has been used. 'break;' missing?
    error = do_lock_file_wait(filp, cmd, file_lock);
          ^
>> fs/locks.c:2308:8: warning: Variable 'error' is reassigned a value before the old one has been used. 'break;' missing? [redundantAssignInSwitch]
    error = do_lock_file_wait(filp, cmd, file_lock);
          ^
   fs/locks.c:2296:9: note: Variable 'error' is reassigned a value before the old one has been used. 'break;' missing?
     error = -EINVAL;
           ^
   fs/locks.c:2308:8: note: Variable 'error' is reassigned a value before the old one has been used. 'break;' missing?
    error = do_lock_file_wait(filp, cmd, file_lock);
          ^
   fs/locks.c:2355:8: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
    error = flock64_to_posix_lock(filp, fl, flock);
          ^
   fs/locks.c:2351:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = -EINVAL;
          ^
   fs/locks.c:2355:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = flock64_to_posix_lock(filp, fl, flock);
          ^
   fs/locks.c:2369:8: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
    error = vfs_test_lock(filp, fl);
          ^
   fs/locks.c:2360:9: note: Variable 'error' is reassigned a value before the old one has been used.
     error = -EINVAL;
           ^
   fs/locks.c:2369:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = vfs_test_lock(filp, fl);
          ^
   fs/locks.c:2439:8: warning: Variable 'error' is reassigned a value before the old one has been used. 'break;' missing? [redundantAssignInSwitch]
    error = do_lock_file_wait(filp, cmd, file_lock);
          ^
   fs/locks.c:2418:9: note: Variable 'error' is reassigned a value before the old one has been used. 'break;' missing?
     error = -EINVAL;
           ^
   fs/locks.c:2439:8: note: Variable 'error' is reassigned a value before the old one has been used. 'break;' missing?
    error = do_lock_file_wait(filp, cmd, file_lock);
          ^
   fs/locks.c:2439:8: warning: Variable 'error' is reassigned a value before the old one has been used. 'break;' missing? [redundantAssignInSwitch]
    error = do_lock_file_wait(filp, cmd, file_lock);
          ^
   fs/locks.c:2427:9: note: Variable 'error' is reassigned a value before the old one has been used. 'break;' missing?
     error = -EINVAL;
           ^
   fs/locks.c:2439:8: note: Variable 'error' is reassigned a value before the old one has been used. 'break;' missing?
    error = do_lock_file_wait(filp, cmd, file_lock);
          ^
--
>> fs/posix_acl.c:670:56: warning: Either the condition '!value' is redundant or there is pointer arithmetic with NULL pointer. [nullPointerArithmeticRedundantCheck]
    struct posix_acl_xattr_entry *entry = (void *)(header + 1), *end;
                                                          ^
   fs/posix_acl.c:675:6: note: Assuming that condition '!value' is not redundant
    if (!value)
        ^
   fs/posix_acl.c:669:42: note: Assignment 'header=value', assigned value is 0
    struct posix_acl_xattr_header *header = value;
                                            ^
   fs/posix_acl.c:670:56: note: Null pointer addition
    struct posix_acl_xattr_entry *entry = (void *)(header + 1), *end;
                                                          ^
   fs/posix_acl.c:728:68: warning: Either the condition '!value' is redundant or there is pointer arithmetic with NULL pointer. [nullPointerArithmeticRedundantCheck]
    const struct posix_acl_xattr_entry *entry = (const void *)(header + 1), *end;
                                                                      ^
   fs/posix_acl.c:733:6: note: Assuming that condition '!value' is not redundant
    if (!value)
        ^
   fs/posix_acl.c:727:48: note: Assignment 'header=value', assigned value is 0
    const struct posix_acl_xattr_header *header = value;
                                                  ^
   fs/posix_acl.c:728:68: note: Null pointer addition
    const struct posix_acl_xattr_entry *entry = (const void *)(header + 1), *end;
                                                                      ^
>> fs/posix_acl.c:607:6: warning: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment]
    ret = posix_acl_create_masq(clone, mode);
        ^
   fs/posix_acl.c:602:6: note: Variable 'ret' is reassigned a value before the old one has been used.
    ret = -ENOMEM;
        ^
   fs/posix_acl.c:607:6: note: Variable 'ret' is reassigned a value before the old one has been used.
    ret = posix_acl_create_masq(clone, mode);
        ^
>> fs/ubifs/crypto.c:61:11: warning: Checking if unsigned variable 'clen' is less than zero. [unsignedLessThanZero]
    if (clen <= 0 || clen > UBIFS_BLOCK_SIZE || clen > dlen) {
             ^
>> security/keys/process_keys.c:674:11: warning: Variable 'key_ref' is reassigned a value before the old one has been used. [redundantAssignment]
     key_ref = make_key_ref(key, 1);
             ^
   security/keys/process_keys.c:664:12: note: Variable 'key_ref' is reassigned a value before the old one has been used.
      key_ref = ERR_PTR(-EKEYREVOKED);
              ^
   security/keys/process_keys.c:674:11: note: Variable 'key_ref' is reassigned a value before the old one has been used.
     key_ref = make_key_ref(key, 1);
             ^
   security/keys/process_keys.c:688:11: warning: Variable 'key_ref' is reassigned a value before the old one has been used. [redundantAssignment]
     key_ref = make_key_ref(key, 0);
             ^
   security/keys/process_keys.c:678:11: note: Variable 'key_ref' is reassigned a value before the old one has been used.
     key_ref = ERR_PTR(-EINVAL);
             ^
   security/keys/process_keys.c:688:11: note: Variable 'key_ref' is reassigned a value before the old one has been used.
     key_ref = make_key_ref(key, 0);
             ^
>> security/keys/process_keys.c:737:6: warning: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment]
    ret = key_task_permission(key_ref, ctx.cred, perm);
        ^
   security/keys/process_keys.c:731:6: note: Variable 'ret' is reassigned a value before the old one has been used.
    ret = -EIO;
        ^
   security/keys/process_keys.c:737:6: note: Variable 'ret' is reassigned a value before the old one has been used.
    ret = key_task_permission(key_ref, ctx.cred, perm);
        ^
>> fs/super.c:1235:8: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
    error = security_sb_kern_mount(sb, flags, secdata);
          ^
   fs/super.c:1213:0: note: Variable 'error' is reassigned a value before the old one has been used.
    int error = -ENOMEM;
   ^
   fs/super.c:1235:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = security_sb_kern_mount(sb, flags, secdata);
          ^
   fs/super.c:1039:48: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
     err = fill_super(sb, data, flags & SB_SILENT ? 1 : 0);
                                                  ^
   fs/super.c:1168:48: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
    error = fill_super(s, data, flags & SB_SILENT ? 1 : 0);
                                                  ^
   fs/super.c:1194:49: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
     error = fill_super(s, data, flags & SB_SILENT ? 1 : 0);
                                                   ^
   fs/super.c:1122:49: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
     error = fill_super(s, data, flags & SB_SILENT ? 1 : 0);
                                                   ^
--
   fs/dcache.c:1634:23: warning: Possible null pointer dereference: name [nullPointer]
    dentry->d_name.len = name->len;
                         ^
   fs/dcache.c:1705:50: note: Calling function '__d_alloc', 2nd argument 'NULL' value is 0
    struct dentry *dentry = __d_alloc(parent->d_sb, NULL);
                                                    ^
   fs/dcache.c:1634:23: note: Null pointer dereference
    dentry->d_name.len = name->len;
                         ^
   fs/dcache.c:1635:24: warning: Possible null pointer dereference: name [nullPointer]
    dentry->d_name.hash = name->hash;
                          ^
   fs/dcache.c:1705:50: note: Calling function '__d_alloc', 2nd argument 'NULL' value is 0
    struct dentry *dentry = __d_alloc(parent->d_sb, NULL);
                                                    ^
   fs/dcache.c:1635:24: note: Null pointer dereference
    dentry->d_name.hash = name->hash;
                          ^
   fs/dcache.c:1636:16: warning: Possible null pointer dereference: name [nullPointer]
    memcpy(dname, name->name, name->len);
                  ^
   fs/dcache.c:1705:50: note: Calling function '__d_alloc', 2nd argument 'NULL' value is 0
    struct dentry *dentry = __d_alloc(parent->d_sb, NULL);
                                                    ^
   fs/dcache.c:1636:16: note: Null pointer dereference
    memcpy(dname, name->name, name->len);
                  ^
   fs/dcache.c:1637:8: warning: Possible null pointer dereference: name [nullPointer]
    dname[name->len] = 0;
          ^
   fs/dcache.c:1705:50: note: Calling function '__d_alloc', 2nd argument 'NULL' value is 0
    struct dentry *dentry = __d_alloc(parent->d_sb, NULL);
                                                    ^
   fs/dcache.c:1637:8: note: Null pointer dereference
    dname[name->len] = 0;
          ^
   fs/dcache.c:2948:6: warning: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment]
    ret = 0;
        ^
   fs/dcache.c:2933:0: note: Variable 'ret' is reassigned a value before the old one has been used.
    int ret = -ESTALE;
   ^
   fs/dcache.c:2948:6: note: Variable 'ret' is reassigned a value before the old one has been used.
    ret = 0;
        ^
>> fs/dcache.c:3125:18: warning: Local variable parent shadows outer variable [shadowVar]
      struct mount *parent = ACCESS_ONCE(mnt->mnt_parent);
                    ^
   fs/dcache.c:3122:19: note: Shadowed declaration
     struct dentry * parent;
                     ^
   fs/dcache.c:3125:18: note: Shadow variable
      struct mount *parent = ACCESS_ONCE(mnt->mnt_parent);
                    ^
--
>> fs/crypto/crypto.c:313:6: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment]
    err = 0;
        ^
   fs/crypto/crypto.c:307:6: note: Variable 'err' is reassigned a value before the old one has been used.
    err = -ENOMEM;
        ^
   fs/crypto/crypto.c:313:6: note: Variable 'err' is reassigned a value before the old one has been used.
    err = 0;
        ^
   fs/crypto/crypto.c:366:6: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment]
    err = fscrypt_init_keyring();
        ^
   fs/crypto/crypto.c:346:0: note: Variable 'err' is reassigned a value before the old one has been used.
    int err = -ENOMEM;
   ^
   fs/crypto/crypto.c:366:6: note: Variable 'err' is reassigned a value before the old one has been used.
    err = fscrypt_init_keyring();
        ^
>> fs/crypto/crypto.c:100:23: warning: Checking if unsigned variable 'len' is less than zero. [unsignedLessThanZero]
    if (WARN_ON_ONCE(len <= 0))
                         ^
   fs/crypto/crypto.c:170:23: warning: Checking if unsigned variable 'len' is less than zero. [unsignedLessThanZero]
    if (WARN_ON_ONCE(len <= 0 || !IS_ALIGNED(len | offs, blocksize)))
                         ^
   fs/crypto/crypto.c:248:23: warning: Checking if unsigned variable 'len' is less than zero. [unsignedLessThanZero]
    if (WARN_ON_ONCE(len <= 0 || !IS_ALIGNED(len | offs, blocksize)))
                         ^
--
>> fs/crypto/keyring.c:670:6: warning: Variable 'err' is reassigned a value before the old one has been used. 'break;' missing? [redundantAssignInSwitch]
    err = add_master_key(sb, &secret, &arg.key_spec);
        ^
   fs/crypto/keyring.c:624:7: note: Variable 'err' is reassigned a value before the old one has been used. 'break;' missing?
     err = -EFAULT;
         ^
   fs/crypto/keyring.c:670:6: note: Variable 'err' is reassigned a value before the old one has been used. 'break;' missing?
    err = add_master_key(sb, &secret, &arg.key_spec);
        ^
>> fs/crypto/keyring.c:670:6: warning: Variable 'err' is reassigned a value before the old one has been used. 'break;' missing? [redundantAssignInSwitch]
    err = add_master_key(sb, &secret, &arg.key_spec);
        ^
   fs/crypto/keyring.c:636:7: note: Variable 'err' is reassigned a value before the old one has been used. 'break;' missing?
     err = -EACCES;
         ^
   fs/crypto/keyring.c:670:6: note: Variable 'err' is reassigned a value before the old one has been used. 'break;' missing?
    err = add_master_key(sb, &secret, &arg.key_spec);
        ^
>> fs/crypto/keyring.c:670:6: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment]
    err = add_master_key(sb, &secret, &arg.key_spec);
        ^
   fs/crypto/keyring.c:658:7: note: Variable 'err' is reassigned a value before the old one has been used.
     err = -EFAULT;
         ^
   fs/crypto/keyring.c:670:6: note: Variable 'err' is reassigned a value before the old one has been used.
    err = add_master_key(sb, &secret, &arg.key_spec);
        ^
>> fs/crypto/bio.c:96:23: warning: Checking if unsigned variable 'nr_pages' is less than zero. [unsignedLessThanZero]
    if (WARN_ON(nr_pages <= 0))
                         ^
--
   In file included from fs/ext4/extents.c:
>> fs/ext4/ext4_extents.h:201:22: warning: Either the condition '!ex' is redundant or there is possible null pointer dereference: ext. [nullPointerRedundantCheck]
    return (le16_to_cpu(ext->ee_len) > EXT_INIT_MAX_LEN);
                        ^
   fs/ext4/extents.c:2196:7: note: Assuming that condition '!ex' is not redundant
     if (!ex) {
         ^
   fs/ext4/extents.c:2238:30: note: Calling function 'ext4_ext_is_unwritten', 1st argument 'ex' value is 0
      if (ext4_ext_is_unwritten(ex))
                                ^
   fs/ext4/ext4_extents.h:201:22: note: Null pointer dereference
    return (le16_to_cpu(ext->ee_len) > EXT_INIT_MAX_LEN);
                        ^
   fs/ext4/ext4_extents.h:206:22: warning: Either the condition '!ex' is redundant or there is possible null pointer dereference: ext. [nullPointerRedundantCheck]
    return (le16_to_cpu(ext->ee_len) <= EXT_INIT_MAX_LEN ?
                        ^
   fs/ext4/extents.c:2196:7: note: Assuming that condition '!ex' is not redundant
     if (!ex) {
         ^
   fs/ext4/extents.c:2236:40: note: Calling function 'ext4_ext_get_actual_len', 1st argument 'ex' value is 0
      es.es_len = ext4_ext_get_actual_len(ex);
                                          ^
   fs/ext4/ext4_extents.h:206:22: note: Null pointer dereference
    return (le16_to_cpu(ext->ee_len) <= EXT_INIT_MAX_LEN ?
                        ^
   fs/ext4/ext4_extents.h:207:15: warning: Either the condition '!ex' is redundant or there is possible null pointer dereference: ext. [nullPointerRedundantCheck]
     le16_to_cpu(ext->ee_len) :
                 ^
   fs/ext4/extents.c:2196:7: note: Assuming that condition '!ex' is not redundant
     if (!ex) {
         ^
   fs/ext4/extents.c:2236:40: note: Calling function 'ext4_ext_get_actual_len', 1st argument 'ex' value is 0
      es.es_len = ext4_ext_get_actual_len(ex);
                                          ^
   fs/ext4/ext4_extents.h:207:15: note: Null pointer dereference
     le16_to_cpu(ext->ee_len) :
                 ^
   fs/ext4/ext4_extents.h:208:16: warning: Either the condition '!ex' is redundant or there is possible null pointer dereference: ext. [nullPointerRedundantCheck]
     (le16_to_cpu(ext->ee_len) - EXT_INIT_MAX_LEN));
                  ^
   fs/ext4/extents.c:2196:7: note: Assuming that condition '!ex' is not redundant
     if (!ex) {
         ^
   fs/ext4/extents.c:2236:40: note: Calling function 'ext4_ext_get_actual_len', 1st argument 'ex' value is 0
      es.es_len = ext4_ext_get_actual_len(ex);
                                          ^
   fs/ext4/ext4_extents.h:208:16: note: Null pointer dereference
     (le16_to_cpu(ext->ee_len) - EXT_INIT_MAX_LEN));
                  ^
>> fs/ext4/ext4_extents.h:224:22: warning: Either the condition '!ex' is redundant or there is possible null pointer dereference: ex. [nullPointerRedundantCheck]
    block = le32_to_cpu(ex->ee_start_lo);
                        ^
   fs/ext4/extents.c:2196:7: note: Assuming that condition '!ex' is not redundant
     if (!ex) {
         ^
   fs/ext4/extents.c:2237:33: note: Calling function 'ext4_ext_pblock', 1st argument 'ex' value is 0
      es.es_pblk = ext4_ext_pblock(ex);
                                   ^
   fs/ext4/ext4_extents.h:224:22: note: Null pointer dereference
    block = le32_to_cpu(ex->ee_start_lo);
                        ^
   fs/ext4/ext4_extents.h:225:39: warning: Either the condition '!ex' is redundant or there is possible null pointer dereference: ex. [nullPointerRedundantCheck]
    block |= ((ext4_fsblk_t) le16_to_cpu(ex->ee_start_hi) << 31) << 1;
                                         ^
   fs/ext4/extents.c:2196:7: note: Assuming that condition '!ex' is not redundant
     if (!ex) {
         ^
   fs/ext4/extents.c:2237:33: note: Calling function 'ext4_ext_pblock', 1st argument 'ex' value is 0
      es.es_pblk = ext4_ext_pblock(ex);
                                   ^
   fs/ext4/ext4_extents.h:225:39: note: Null pointer dereference
    block |= ((ext4_fsblk_t) le16_to_cpu(ex->ee_start_hi) << 31) << 1;
                                         ^
>> fs/ext4/extents.c:2235:29: warning: Either the condition '!ex' is redundant or there is possible null pointer dereference: ex. [nullPointerRedundantCheck]
      es.es_lblk = le32_to_cpu(ex->ee_block);
                               ^
   fs/ext4/extents.c:2196:7: note: Assuming that condition '!ex' is not redundant
     if (!ex) {
         ^
   fs/ext4/extents.c:2235:29: note: Null pointer dereference
      es.es_lblk = le32_to_cpu(ex->ee_block);
                               ^
>> fs/ext4/extents.c:5180:9: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
     error = ext4_xattr_fiemap(inode, fieinfo);
           ^
   fs/ext4/extents.c:5158:9: note: Variable 'error' is reassigned a value before the old one has been used.
     error = ext4_inline_data_fiemap(inode, fieinfo, &has_inline,
           ^
   fs/ext4/extents.c:5180:9: note: Variable 'error' is reassigned a value before the old one has been used.
     error = ext4_xattr_fiemap(inode, fieinfo);
           ^
   fs/ext4/ext4.h:517:2: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
    CHECK_FLAG_VALUE(RESERVED);
    ^
>> fs/ext4/extents.c:4503:59: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
     int fb_flags = flags & EXT4_GET_BLOCKS_DELALLOC_RESERVE ?
                                                             ^
>> fs/ext4/extents.c:2535:24: warning: Local variable sbi shadows outer variable [shadowVar]
     struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb);
                          ^
   fs/ext4/extents.c:2504:23: note: Shadowed declaration
    struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb);
                         ^
   fs/ext4/extents.c:2535:24: note: Shadow variable
     struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb);
                          ^
>> fs/ext4/file.c:531:12: warning: Variable 'lastoff' is reassigned a value before the old one has been used. [redundantAssignment]
      lastoff = page_offset(page) + PAGE_SIZE;
              ^
   fs/ext4/file.c:526:14: note: Variable 'lastoff' is reassigned a value before the old one has been used.
        lastoff += bh->b_size;
                ^
   fs/ext4/file.c:531:12: note: Variable 'lastoff' is reassigned a value before the old one has been used.
      lastoff = page_offset(page) + PAGE_SIZE;
              ^
   fs/ext4/ext4.h:517:2: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
    CHECK_FLAG_VALUE(RESERVED);
    ^
   fs/ext4/ialloc.c:994:6: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment]
    err = -ENOSPC;
        ^
   fs/ext4/ialloc.c:905:6: note: Variable 'err' is reassigned a value before the old one has been used.
    err = -ENOSPC;
        ^
   fs/ext4/ialloc.c:994:6: note: Variable 'err' is reassigned a value before the old one has been used.
    err = -ENOSPC;
        ^
   fs/ext4/ialloc.c:964:7: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment]
     err = ext4_journal_get_write_access(handle, inode_bitmap_bh);
         ^
   fs/ext4/ialloc.c:915:7: note: Variable 'err' is reassigned a value before the old one has been used.
     err = -EIO;
         ^
   fs/ext4/ialloc.c:964:7: note: Variable 'err' is reassigned a value before the old one has been used.
     err = ext4_journal_get_write_access(handle, inode_bitmap_bh);
         ^
>> fs/ext4/ialloc.c:375:8: warning: Local variable count shadows outer variable [shadowVar]
      int count;
          ^
   fs/ext4/ialloc.c:268:22: note: Shadowed declaration
    int fatal = 0, err, count, cleared;
                        ^
   fs/ext4/ialloc.c:375:8: note: Shadow variable
      int count;
          ^
   fs/ext4/ialloc.c:1055:27: warning: Local variable grp shadows outer variable [shadowVar]
     struct ext4_group_info *grp = ext4_get_group_info(sb, group);
                             ^
   fs/ext4/ialloc.c:791:26: note: Shadowed declaration
    struct ext4_group_info *grp;
                            ^
   fs/ext4/ialloc.c:1055:27: note: Shadow variable
     struct ext4_group_info *grp = ext4_get_group_info(sb, group);
                             ^
   fs/ext4/ext4.h:517:2: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
    CHECK_FLAG_VALUE(RESERVED);
    ^
   fs/ext4/ialloc.c:966:4: warning: Identical inner 'if' condition is always true. [identicalInnerCondition]
      ext4_std_error(sb, err);
      ^
   fs/ext4/ialloc.c:965:7: note: outer condition: err
     if (err) {
         ^
   fs/ext4/ialloc.c:966:4: note: identical inner condition: err
      ext4_std_error(sb, err);
      ^
   fs/ext4/ialloc.c:1001:3: warning: Identical inner 'if' condition is always true. [identicalInnerCondition]
     ext4_std_error(sb, err);
     ^
   fs/ext4/ialloc.c:1000:6: note: outer condition: err
    if (err) {
        ^
   fs/ext4/ialloc.c:1001:3: note: identical inner condition: err
     ext4_std_error(sb, err);
     ^
   fs/ext4/ialloc.c:1008:3: warning: Identical inner 'if' condition is always true. [identicalInnerCondition]
     ext4_std_error(sb, err);
     ^
   fs/ext4/ialloc.c:1007:6: note: outer condition: err
    if (err) {
        ^
   fs/ext4/ialloc.c:1008:3: note: identical inner condition: err
     ext4_std_error(sb, err);
     ^
   fs/ext4/ialloc.c:1026:4: warning: Identical inner 'if' condition is always true. [identicalInnerCondition]
      ext4_std_error(sb, err);
      ^
   fs/ext4/ialloc.c:1024:7: note: outer condition: err
     if (err) {
         ^
   fs/ext4/ialloc.c:1026:4: note: identical inner condition: err
      ext4_std_error(sb, err);
      ^
   fs/ext4/ialloc.c:1047:4: warning: Identical inner 'if' condition is always true. [identicalInnerCondition]
      ext4_std_error(sb, err);
      ^
   fs/ext4/ialloc.c:1046:7: note: outer condition: err
     if (err) {
         ^
   fs/ext4/ialloc.c:1047:4: note: identical inner condition: err
      ext4_std_error(sb, err);
      ^
   fs/ext4/ialloc.c:1097:3: warning: Identical inner 'if' condition is always true. [identicalInnerCondition]
     ext4_std_error(sb, err);
     ^
   fs/ext4/ialloc.c:1096:6: note: outer condition: err
    if (err) {
        ^
   fs/ext4/ialloc.c:1097:3: note: identical inner condition: err
     ext4_std_error(sb, err);
     ^
   fs/ext4/ialloc.c:1205:3: warning: Identical inner 'if' condition is always true. [identicalInnerCondition]
     ext4_std_error(sb, err);
     ^
   fs/ext4/ialloc.c:1204:6: note: outer condition: err
    if (err) {
        ^
   fs/ext4/ialloc.c:1205:3: note: identical inner condition: err
     ext4_std_error(sb, err);
     ^
>> fs/ext4/sysfs.c:294:24: warning: Either the condition '!ptr' is redundant or there is possible null pointer dereference: ptr. [nullPointerRedundantCheck]
       *((unsigned int *) ptr));
                          ^
   fs/ext4/sysfs.c:296:7: note: Assuming that condition '!ptr' is not redundant
     if (!ptr)
         ^
   fs/ext4/sysfs.c:294:24: note: Null pointer dereference
       *((unsigned int *) ptr));
                          ^
   fs/ext4/ext4.h:517:2: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
    CHECK_FLAG_VALUE(RESERVED);
    ^
>> fs/f2fs/xattr.c:73:2: warning: Non-boolean value returned from function returning bool [returnNonBoolInBooleanFunction]
    return test_opt(sbi, XATTR_USER);
    ^
   fs/f2fs/f2fs.h:2126:15: warning: Local variable valid_node_count shadows outer function [shadowFunction]
    unsigned int valid_node_count, user_block_count;
                 ^
   fs/f2fs/f2fs.h:2222:28: note: Shadowed declaration
   static inline unsigned int valid_node_count(struct f2fs_sb_info *sbi)
                              ^
   fs/f2fs/f2fs.h:2126:15: note: Shadow variable
    unsigned int valid_node_count, user_block_count;
                 ^
>> fs/gfs2/aops.c:739:8: warning: Variable 'error' is reassigned a value before the old one has been used. [redundantAssignment]
    error = __block_write_begin(page, from, len, gfs2_block_map);
          ^
   fs/gfs2/aops.c:719:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = -ENOMEM;
          ^
   fs/gfs2/aops.c:739:8: note: Variable 'error' is reassigned a value before the old one has been used.
    error = __block_write_begin(page, from, len, gfs2_block_map);
          ^
>> fs/nilfs2/bmap.h:194:2: warning: Possible null pointer dereference: req [nullPointer]
    req->bpr_ptr = bmap->b_last_allocated_ptr++;
    ^
   fs/nilfs2/btree.c:1877:8: note: Assignment 'di=NULL', assigned value is 0
     di = NULL;
          ^
   fs/nilfs2/btree.c:1882:59: note: Calling function 'nilfs_btree_prepare_convert_and_insert', 3rd argument 'di' value is 0
    ret = nilfs_btree_prepare_convert_and_insert(btree, key, di, ni, &bh,
                                                             ^
   fs/nilfs2/btree.c:1754:44: note: Calling function 'nilfs_bmap_prepare_alloc_ptr', 2nd argument 'dreq' value is 0
    ret = nilfs_bmap_prepare_alloc_ptr(btree, dreq, dat);
                                              ^
   fs/nilfs2/bmap.h:194:2: note: Null pointer dereference
    req->bpr_ptr = bmap->b_last_allocated_ptr++;
    ^

vim +/nr_pages +96 fs/crypto/bio.c

    43	
    44	/**
    45	 * fscrypt_zeroout_range() - zero out a range of blocks in an encrypted file
    46	 * @inode: the file's inode
    47	 * @lblk: the first file logical block to zero out
    48	 * @pblk: the first filesystem physical block to zero out
    49	 * @len: number of blocks to zero out
    50	 *
    51	 * Zero out filesystem blocks in an encrypted regular file on-disk, i.e. write
    52	 * ciphertext blocks which decrypt to the all-zeroes block.  The blocks must be
    53	 * both logically and physically contiguous.  It's also assumed that the
    54	 * filesystem only uses a single block device, ->s_bdev.
    55	 *
    56	 * Note that since each block uses a different IV, this involves writing a
    57	 * different ciphertext to each block; we can't simply reuse the same one.
    58	 *
    59	 * Return: 0 on success; -errno on failure.
    60	 */
    61	int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
    62				  sector_t pblk, unsigned int len)
    63	{
    64		const unsigned int blockbits = inode->i_blkbits;
    65		const unsigned int blocksize = 1 << blockbits;
    66		const unsigned int blocks_per_page_bits = PAGE_SHIFT - blockbits;
    67		const unsigned int blocks_per_page = 1 << blocks_per_page_bits;
    68		struct page *pages[16]; /* write up to 16 pages@a time */
    69		unsigned int nr_pages;
    70		unsigned int i;
    71		unsigned int offset;
    72		struct bio *bio;
    73		int ret, err;
    74	
    75		if (len == 0)
    76			return 0;
    77	
    78		BUILD_BUG_ON(ARRAY_SIZE(pages) > BIO_MAX_PAGES);
    79		nr_pages = min_t(unsigned int, ARRAY_SIZE(pages),
    80				 (len + blocks_per_page - 1) >> blocks_per_page_bits);
    81	
    82		/*
    83		 * We need at least one page for ciphertext.  Allocate the first one
    84		 * from a mempool, with __GFP_DIRECT_RECLAIM set so that it can't fail.
    85		 *
    86		 * Any additional page allocations are allowed to fail, as they only
    87		 * help performance, and waiting on the mempool for them could deadlock.
    88		 */
    89		for (i = 0; i < nr_pages; i++) {
    90			pages[i] = fscrypt_alloc_bounce_page(i == 0 ? GFP_NOFS :
    91							     GFP_NOWAIT | __GFP_NOWARN);
    92			if (!pages[i])
    93				break;
    94		}
    95		nr_pages = i;
  > 96		if (WARN_ON(nr_pages <= 0))

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-06-14 17:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-14 17:07 [android-common:upstream-f2fs-stable-linux-4.14.y 903/1043] fs/crypto/bio.c:96:23: warning: Checking if unsigned variable 'nr_pages' is less than zero kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.