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

warning: objtool: __cfs_fail_check_set() falls through to next function __cfs_fail_timeout_set()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.16.0
    • Lustre 2.16.0
    • None
    • 3
    • 9223372036854775807

    Description

      While building master branch on Ubuntu 24.04 with kernel 6.8.0-31-generic, there are lots of objtool warnings as follows:

        CC [M]  /root/lustre-release/libcfs/libcfs/fail.o
      /root/lustre-release/libcfs/libcfs/fail.o: warning: objtool: __cfs_fail_check_set() falls through to next function __cfs_fail_timeout_set()
        CC [M]  /root/lustre-release/libcfs/libcfs/module.o
      /root/lustre-release/libcfs/libcfs/module.o: warning: objtool: libcfs_force_lbug() falls through to next function debugfs_doint()
        CC [M]  /root/lustre-release/libcfs/libcfs/tracefile.o
        CC [M]  /root/lustre-release/libcfs/libcfs/libcfs_string.o
        CC [M]  /root/lustre-release/libcfs/libcfs/hash.o
      /root/lustre-release/libcfs/libcfs/hash.o: warning: objtool: cfs_hash_bd_del_locked() falls through to next function cfs_hash_cond_del_locked()
      /root/lustre-release/libcfs/libcfs/hash.o: warning: objtool: cfs_hash_bd_from_key() falls through to next function cfs_hash_buckets_free()
      /root/lustre-release/libcfs/libcfs/hash.o: warning: objtool: cfs_hash_bd_get() falls through to next function cfs_hash_multi_bd_findadd_locked.constprop.0()
      /root/lustre-release/libcfs/libcfs/hash.o: warning: objtool: cfs_hash_create() falls through to next function cfs_hash_bd_move_locked()
      /root/lustre-release/libcfs/libcfs/hash.o: warning: objtool: cfs_hash_bd_move_locked() falls through to next function cfs_hash_rehash_worker()
      /root/lustre-release/libcfs/libcfs/hash.o: warning: objtool: cfs_hash_dual_bd_get() falls through to next function cfs_hash_rehash_key()
      /root/lustre-release/libcfs/libcfs/hash.o: warning: objtool: cfs_hash_rehash_cancel() falls through to next function cfs_hash_putref()
      /root/lustre-release/libcfs/libcfs/hash.o: warning: objtool: cfs_hash_for_each_enter() falls through to next function cfs_hash_rehash()
      

      A full list is in the attached make_debs.log.
      According to https://github.com/torvalds/linux/blob/master/tools/objtool/Documentation/objtool.txt :

      8. file.o: warning: objtool: funcA() falls through to next function funcB()
      
         This means that funcA() doesn't end with a return instruction or an
         unconditional jump, and that objtool has determined that the function
         can fall through into the next function.  There could be different
         reasons for this:
      
         1) funcA()'s last instruction is a call to a "noreturn" function like
            panic().  In this case the noreturn function needs to be added to
            objtool's hard-coded global_noreturns array.  Feel free to bug the
            objtool maintainer, or you can submit a patch.
      
         2) funcA() uses the unreachable() annotation in a section of code
            that is actually reachable.
      
         3) If funcA() calls an inline function, the object code for funcA()
            might be corrupt due to a gcc bug.  For more details, see:
            https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70646
      

      Attachments

        Issue Links

          Activity

            People

              yujian Jian Yu
              yujian Jian Yu
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: