All of lore.kernel.org
 help / color / mirror / Atom feed
* [jlayton:ceph-fscrypt-fnames 36/49] fs/ceph/super.c:48:33: error: passing argument 1 of 'ceph_fscrypt_free_dummy_policy' from incompatible pointer type
@ 2021-06-29  7:23 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-06-29  7:23 UTC (permalink / raw)
  To: kbuild-all

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git ceph-fscrypt-fnames
head:   9c297d5cea7b08ea73fe150ea262b6d990394f5f
commit: db651be65bc5020aaf4c5d2c0e646b9950d05182 [36/49] ceph: add routine to create fscrypt context prior to RPC
config: sparc64-randconfig-s032-20210628 (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git/commit/?id=db651be65bc5020aaf4c5d2c0e646b9950d05182
        git remote add jlayton https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git
        git fetch --no-tags jlayton ceph-fscrypt-fnames
        git checkout db651be65bc5020aaf4c5d2c0e646b9950d05182
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sparc64 

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

All error/warnings (new ones prefixed by >>):

   In file included from fs/ceph/super.h:29,
                    from fs/ceph/super.c:20:
>> fs/ceph/crypto.h:44:58: warning: 'struct ceph_fs_client' declared inside parameter list will not be visible outside of this definition or declaration
      44 | static inline void ceph_fscrypt_free_dummy_policy(struct ceph_fs_client *fsc)
         |                                                          ^~~~~~~~~~~~~~
>> fs/ceph/crypto.h:49:14: warning: 'struct ceph_acl_sec_ctx' declared inside parameter list will not be visible outside of this definition or declaration
      49 |       struct ceph_acl_sec_ctx *as)
         |              ^~~~~~~~~~~~~~~~
   fs/ceph/crypto.h:57:14: warning: 'struct ceph_acl_sec_ctx' declared inside parameter list will not be visible outside of this definition or declaration
      57 |       struct ceph_acl_sec_ctx *as_ctx)
         |              ^~~~~~~~~~~~~~~~
>> fs/ceph/crypto.h:56:54: warning: 'struct ceph_mds_request' declared inside parameter list will not be visible outside of this definition or declaration
      56 | static inline void ceph_fscrypt_as_ctx_to_req(struct ceph_mds_request *req,
         |                                                      ^~~~~~~~~~~~~~~~
   fs/ceph/super.c: In function 'ceph_put_super':
>> fs/ceph/super.c:48:33: error: passing argument 1 of 'ceph_fscrypt_free_dummy_policy' from incompatible pointer type [-Werror=incompatible-pointer-types]
      48 |  ceph_fscrypt_free_dummy_policy(fsc);
         |                                 ^~~
         |                                 |
         |                                 struct ceph_fs_client *
   In file included from fs/ceph/super.h:29,
                    from fs/ceph/super.c:20:
   fs/ceph/crypto.h:44:74: note: expected 'struct ceph_fs_client *' but argument is of type 'struct ceph_fs_client *'
      44 | static inline void ceph_fscrypt_free_dummy_policy(struct ceph_fs_client *fsc)
         |                                                   ~~~~~~~~~~~~~~~~~~~~~~~^~~
   cc1: some warnings being treated as errors
--
   In file included from fs/ceph/super.h:29,
                    from fs/ceph/inode.c:19:
>> fs/ceph/crypto.h:44:58: warning: 'struct ceph_fs_client' declared inside parameter list will not be visible outside of this definition or declaration
      44 | static inline void ceph_fscrypt_free_dummy_policy(struct ceph_fs_client *fsc)
         |                                                          ^~~~~~~~~~~~~~
>> fs/ceph/crypto.h:49:14: warning: 'struct ceph_acl_sec_ctx' declared inside parameter list will not be visible outside of this definition or declaration
      49 |       struct ceph_acl_sec_ctx *as)
         |              ^~~~~~~~~~~~~~~~
   fs/ceph/crypto.h:57:14: warning: 'struct ceph_acl_sec_ctx' declared inside parameter list will not be visible outside of this definition or declaration
      57 |       struct ceph_acl_sec_ctx *as_ctx)
         |              ^~~~~~~~~~~~~~~~
>> fs/ceph/crypto.h:56:54: warning: 'struct ceph_mds_request' declared inside parameter list will not be visible outside of this definition or declaration
      56 | static inline void ceph_fscrypt_as_ctx_to_req(struct ceph_mds_request *req,
         |                                                      ^~~~~~~~~~~~~~~~
   fs/ceph/inode.c: In function 'ceph_new_inode':
>> fs/ceph/inode.c:93:49: error: passing argument 3 of 'ceph_fscrypt_prepare_context' from incompatible pointer type [-Werror=incompatible-pointer-types]
      93 |  err = ceph_fscrypt_prepare_context(dir, inode, as_ctx);
         |                                                 ^~~~~~
         |                                                 |
         |                                                 struct ceph_acl_sec_ctx *
   In file included from fs/ceph/super.h:29,
                    from fs/ceph/inode.c:19:
   fs/ceph/crypto.h:49:32: note: expected 'struct ceph_acl_sec_ctx *' but argument is of type 'struct ceph_acl_sec_ctx *'
      49 |       struct ceph_acl_sec_ctx *as)
         |       ~~~~~~~~~~~~~~~~~~~~~~~~~^~
   fs/ceph/inode.c: In function 'ceph_as_ctx_to_req':
>> fs/ceph/inode.c:109:29: error: passing argument 1 of 'ceph_fscrypt_as_ctx_to_req' from incompatible pointer type [-Werror=incompatible-pointer-types]
     109 |  ceph_fscrypt_as_ctx_to_req(req, as_ctx);
         |                             ^~~
         |                             |
         |                             struct ceph_mds_request *
   In file included from fs/ceph/super.h:29,
                    from fs/ceph/inode.c:19:
   fs/ceph/crypto.h:56:72: note: expected 'struct ceph_mds_request *' but argument is of type 'struct ceph_mds_request *'
      56 | static inline void ceph_fscrypt_as_ctx_to_req(struct ceph_mds_request *req,
         |                                               ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   fs/ceph/inode.c:109:34: error: passing argument 2 of 'ceph_fscrypt_as_ctx_to_req' from incompatible pointer type [-Werror=incompatible-pointer-types]
     109 |  ceph_fscrypt_as_ctx_to_req(req, as_ctx);
         |                                  ^~~~~~
         |                                  |
         |                                  struct ceph_acl_sec_ctx *
   In file included from fs/ceph/super.h:29,
                    from fs/ceph/inode.c:19:
   fs/ceph/crypto.h:57:32: note: expected 'struct ceph_acl_sec_ctx *' but argument is of type 'struct ceph_acl_sec_ctx *'
      57 |       struct ceph_acl_sec_ctx *as_ctx)
         |       ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
   fs/ceph/inode.c: In function 'ceph_fill_inode':
   fs/ceph/inode.c:1043:36: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth'
    1043 |  if (iinfo->fscrypt_auth_len && !ci->fscrypt_auth) {
         |                                    ^~
   fs/ceph/inode.c:1044:5: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth_len'
    1044 |   ci->fscrypt_auth_len = iinfo->fscrypt_auth_len;
         |     ^~
   fs/ceph/inode.c:1045:5: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth'
    1045 |   ci->fscrypt_auth = iinfo->fscrypt_auth;
         |     ^~
   In file included from <command-line>:
   fs/ceph/inode.c: In function '__ceph_setattr':
   include/linux/compiler_types.h:140:35: error: invalid use of undefined type 'struct ceph_fscrypt_auth'
     140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
         |                                   ^~~~~~~~~~~~~~~~~~
   include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
      17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
         |                                ^~~~~~~~~~~~~~~~~~~
   fs/ceph/inode.c:2140:13: note: in expansion of macro 'offsetof'
    2140 |   u32 len = offsetof(struct ceph_fscrypt_auth, cfa_blob) +
         |             ^~~~~~~~
   In file included from include/linux/swab.h:5,
                    from include/uapi/linux/byteorder/big_endian.h:13,
                    from include/linux/byteorder/big_endian.h:5,
                    from arch/sparc/include/uapi/asm/byteorder.h:5,
                    from arch/sparc/include/asm/bitops_64.h:16,
                    from arch/sparc/include/asm/bitops.h:5,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/module.h:12,
                    from fs/ceph/inode.c:4:
   fs/ceph/inode.c:2141:35: error: dereferencing pointer to incomplete type 'struct ceph_fscrypt_auth'
    2141 |      le32_to_cpu(cia->fscrypt_auth->cfa_blob_len);
         |                                   ^~
   include/uapi/linux/swab.h:118:32: note: in definition of macro '__swab32'
     118 |  (__builtin_constant_p((__u32)(x)) ? \
         |                                ^
   include/linux/byteorder/generic.h:89:21: note: in expansion of macro '__le32_to_cpu'
      89 | #define le32_to_cpu __le32_to_cpu
         |                     ^~~~~~~~~~~~~
   fs/ceph/inode.c:2141:6: note: in expansion of macro 'le32_to_cpu'
    2141 |      le32_to_cpu(cia->fscrypt_auth->cfa_blob_len);
         |      ^~~~~~~~~~~
   In file included from include/linux/printk.h:409,
                    from include/linux/kernel.h:17,
                    from include/linux/list.h:9,
                    from include/linux/module.h:12,
                    from fs/ceph/inode.c:4:
   fs/ceph/inode.c:2147:25: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth_len'
    2147 |    ceph_vinop(inode), ci->fscrypt_auth_len, len);
         |                         ^~
   include/linux/dynamic_debug.h:134:15: note: in definition of macro '__dynamic_func_call'
     134 |   func(&id, ##__VA_ARGS__);  \
         |               ^~~~~~~~~~~
   include/linux/dynamic_debug.h:162:2: note: in expansion of macro '_dynamic_func_call'
     162 |  _dynamic_func_call(fmt, __dynamic_pr_debug,  \
         |  ^~~~~~~~~~~~~~~~~~
   include/linux/printk.h:424:2: note: in expansion of macro 'dynamic_pr_debug'
     424 |  dynamic_pr_debug(fmt, ##__VA_ARGS__)
         |  ^~~~~~~~~~~~~~~~
   include/linux/ceph/ceph_debug.h:35:25: note: in expansion of macro 'pr_debug'
      35 | # define dout(fmt, ...) pr_debug(" " fmt, ##__VA_ARGS__)
         |                         ^~~~~~~~
   fs/ceph/inode.c:2146:3: note: in expansion of macro 'dout'
    2146 |   dout("setattr %llx:%llx fscrypt_auth len %u to %u)\n",
         |   ^~~~
   In file included from arch/sparc/include/asm/bug.h:25,
                    from include/linux/bug.h:5,
                    from include/linux/mmdebug.h:5,
                    from include/linux/gfp.h:5,
                    from include/linux/umh.h:4,
                    from include/linux/kmod.h:9,
                    from include/linux/module.h:16,
                    from fs/ceph/inode.c:4:
   fs/ceph/inode.c:2150:18: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth'
    2150 |   WARN_ON_ONCE(ci->fscrypt_auth);
         |                  ^~
   include/asm-generic/bug.h:145:27: note: in definition of macro 'WARN_ON_ONCE'
     145 |  int __ret_warn_once = !!(condition);   \
         |                           ^~~~~~~~~
--
   In file included from fs/ceph/super.h:29,
                    from fs/ceph/dir.c:10:
>> fs/ceph/crypto.h:44:58: warning: 'struct ceph_fs_client' declared inside parameter list will not be visible outside of this definition or declaration
      44 | static inline void ceph_fscrypt_free_dummy_policy(struct ceph_fs_client *fsc)
         |                                                          ^~~~~~~~~~~~~~
>> fs/ceph/crypto.h:49:14: warning: 'struct ceph_acl_sec_ctx' declared inside parameter list will not be visible outside of this definition or declaration
      49 |       struct ceph_acl_sec_ctx *as)
         |              ^~~~~~~~~~~~~~~~
   fs/ceph/crypto.h:57:14: warning: 'struct ceph_acl_sec_ctx' declared inside parameter list will not be visible outside of this definition or declaration
      57 |       struct ceph_acl_sec_ctx *as_ctx)
         |              ^~~~~~~~~~~~~~~~
>> fs/ceph/crypto.h:56:54: warning: 'struct ceph_mds_request' declared inside parameter list will not be visible outside of this definition or declaration
      56 | static inline void ceph_fscrypt_as_ctx_to_req(struct ceph_mds_request *req,
         |                                                      ^~~~~~~~~~~~~~~~
--
   In file included from fs/ceph/super.h:29,
                    from fs/ceph/caps.c:13:
>> fs/ceph/crypto.h:44:58: warning: 'struct ceph_fs_client' declared inside parameter list will not be visible outside of this definition or declaration
      44 | static inline void ceph_fscrypt_free_dummy_policy(struct ceph_fs_client *fsc)
         |                                                          ^~~~~~~~~~~~~~
>> fs/ceph/crypto.h:49:14: warning: 'struct ceph_acl_sec_ctx' declared inside parameter list will not be visible outside of this definition or declaration
      49 |       struct ceph_acl_sec_ctx *as)
         |              ^~~~~~~~~~~~~~~~
   fs/ceph/crypto.h:57:14: warning: 'struct ceph_acl_sec_ctx' declared inside parameter list will not be visible outside of this definition or declaration
      57 |       struct ceph_acl_sec_ctx *as_ctx)
         |              ^~~~~~~~~~~~~~~~
>> fs/ceph/crypto.h:56:54: warning: 'struct ceph_mds_request' declared inside parameter list will not be visible outside of this definition or declaration
      56 | static inline void ceph_fscrypt_as_ctx_to_req(struct ceph_mds_request *req,
         |                                                      ^~~~~~~~~~~~~~~~
   fs/ceph/caps.c:1235:27: error: invalid application of 'sizeof' to incomplete type 'struct ceph_fscrypt_auth'
    1235 |  u8   fscrypt_auth[sizeof(struct ceph_fscrypt_auth)]; // for context
         |                           ^~~~~~
   fs/ceph/caps.c: In function '__prep_cap':
   fs/ceph/caps.c:1456:8: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth_len'
    1456 |  if (ci->fscrypt_auth_len &&
         |        ^~
   In file included from arch/sparc/include/asm/bug.h:25,
                    from include/linux/bug.h:5,
                    from include/linux/thread_info.h:12,
                    from include/asm-generic/preempt.h:5,
                    from ./arch/sparc/include/generated/asm/preempt.h:1,
                    from include/linux/preempt.h:78,
                    from include/linux/spinlock.h:51,
                    from include/linux/wait.h:9,
                    from include/linux/wait_bit.h:8,
                    from include/linux/fs.h:6,
                    from fs/ceph/caps.c:4:
   fs/ceph/caps.c:1457:21: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth_len'
    1457 |      WARN_ON_ONCE(ci->fscrypt_auth_len != sizeof(struct ceph_fscrypt_auth))) {
         |                     ^~
   include/asm-generic/bug.h:145:27: note: in definition of macro 'WARN_ON_ONCE'
     145 |  int __ret_warn_once = !!(condition);   \
         |                           ^~~~~~~~~
   fs/ceph/caps.c:1457:50: error: invalid application of 'sizeof' to incomplete type 'struct ceph_fscrypt_auth'
    1457 |      WARN_ON_ONCE(ci->fscrypt_auth_len != sizeof(struct ceph_fscrypt_auth))) {
         |                                                  ^~~~~~
   include/asm-generic/bug.h:145:27: note: in definition of macro 'WARN_ON_ONCE'
     145 |  int __ret_warn_once = !!(condition);   \
         |                           ^~~~~~~~~
   fs/ceph/caps.c:1461:29: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth_len'
    1461 |   arg->fscrypt_auth_len = ci->fscrypt_auth_len;
         |                             ^~
   In file included from include/linux/string.h:21,
                    from include/linux/ceph/ceph_debug.h:7,
                    from fs/ceph/caps.c:2:
   fs/ceph/caps.c:1462:31: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth'
    1462 |   memcpy(arg->fscrypt_auth, ci->fscrypt_auth,
         |                               ^~
   arch/sparc/include/asm/string.h:15:45: note: in definition of macro 'memcpy'
      15 | #define memcpy(t, f, n) __builtin_memcpy(t, f, n)
         |                                             ^
   fs/ceph/caps.c:1463:20: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth_len'
    1463 |    min_t(size_t, ci->fscrypt_auth_len, sizeof(arg->fscrypt_auth)));
         |                    ^~
   arch/sparc/include/asm/string.h:15:48: note: in definition of macro 'memcpy'
      15 | #define memcpy(t, f, n) __builtin_memcpy(t, f, n)
         |                                                ^
   include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck'
      26 |   (__typecheck(x, y) && __no_side_effects(x, y))
         |    ^~~~~~~~~~~
   include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp'
      36 |  __builtin_choose_expr(__safe_cmp(x, y), \
         |                        ^~~~~~~~~~
   include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp'
     104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
         |                           ^~~~~~~~~~~~~
   fs/ceph/caps.c:1463:4: note: in expansion of macro 'min_t'
    1463 |    min_t(size_t, ci->fscrypt_auth_len, sizeof(arg->fscrypt_auth)));
         |    ^~~~~
   fs/ceph/caps.c:1463:20: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth_len'
    1463 |    min_t(size_t, ci->fscrypt_auth_len, sizeof(arg->fscrypt_auth)));
         |                    ^~
   arch/sparc/include/asm/string.h:15:48: note: in definition of macro 'memcpy'
      15 | #define memcpy(t, f, n) __builtin_memcpy(t, f, n)
         |                                                ^
   include/linux/minmax.h:23:4: note: in expansion of macro '__is_constexpr'
      23 |   (__is_constexpr(x) && __is_constexpr(y))
         |    ^~~~~~~~~~~~~~
   include/linux/minmax.h:26:25: note: in expansion of macro '__no_side_effects'
      26 |   (__typecheck(x, y) && __no_side_effects(x, y))
         |                         ^~~~~~~~~~~~~~~~~
   include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp'
      36 |  __builtin_choose_expr(__safe_cmp(x, y), \
         |                        ^~~~~~~~~~
   include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp'
     104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
         |                           ^~~~~~~~~~~~~
   fs/ceph/caps.c:1463:4: note: in expansion of macro 'min_t'
    1463 |    min_t(size_t, ci->fscrypt_auth_len, sizeof(arg->fscrypt_auth)));
         |    ^~~~~
   fs/ceph/caps.c:1463:20: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth_len'
    1463 |    min_t(size_t, ci->fscrypt_auth_len, sizeof(arg->fscrypt_auth)));
         |                    ^~
   arch/sparc/include/asm/string.h:15:48: note: in definition of macro 'memcpy'
      15 | #define memcpy(t, f, n) __builtin_memcpy(t, f, n)
         |                                                ^
   include/linux/minmax.h:37:3: note: in expansion of macro '__cmp'
      37 |   __cmp(x, y, op), \
         |   ^~~~~
   include/linux/minmax.h:104:27: note: in expansion of macro '__careful_cmp'
     104 | #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
         |                           ^~~~~~~~~~~~~
   fs/ceph/caps.c:1463:4: note: in expansion of macro 'min_t'
    1463 |    min_t(size_t, ci->fscrypt_auth_len, sizeof(arg->fscrypt_auth)));
         |    ^~~~~
   fs/ceph/caps.c:1463:20: error: 'struct ceph_inode_info' has no member named 'fscrypt_auth_len'
    1463 |    min_t(size_t, ci->fscrypt_auth_len, sizeof(arg->fscrypt_auth)));
--
   In file included from fs/ceph/super.h:29,
                    from fs/ceph/mds_client.c:15:
>> fs/ceph/crypto.h:44:58: warning: 'struct ceph_fs_client' declared inside parameter list will not be visible outside of this definition or declaration
      44 | static inline void ceph_fscrypt_free_dummy_policy(struct ceph_fs_client *fsc)
         |                                                          ^~~~~~~~~~~~~~
>> fs/ceph/crypto.h:49:14: warning: 'struct ceph_acl_sec_ctx' declared inside parameter list will not be visible outside of this definition or declaration
      49 |       struct ceph_acl_sec_ctx *as)
         |              ^~~~~~~~~~~~~~~~
   fs/ceph/crypto.h:57:14: warning: 'struct ceph_acl_sec_ctx' declared inside parameter list will not be visible outside of this definition or declaration
      57 |       struct ceph_acl_sec_ctx *as_ctx)
         |              ^~~~~~~~~~~~~~~~
>> fs/ceph/crypto.h:56:54: warning: 'struct ceph_mds_request' declared inside parameter list will not be visible outside of this definition or declaration
      56 | static inline void ceph_fscrypt_as_ctx_to_req(struct ceph_mds_request *req,
         |                                                      ^~~~~~~~~~~~~~~~
   In file included from include/linux/swab.h:5,
                    from include/uapi/linux/byteorder/big_endian.h:13,
                    from include/linux/byteorder/big_endian.h:5,
                    from arch/sparc/include/uapi/asm/byteorder.h:5,
                    from arch/sparc/include/asm/bitops_64.h:16,
                    from arch/sparc/include/asm/bitops.h:5,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/wait.h:7,
                    from include/linux/wait_bit.h:8,
                    from include/linux/fs.h:6,
                    from fs/ceph/mds_client.c:4:
   fs/ceph/mds_client.c: In function 'encode_mclientrequest_tail':
   fs/ceph/mds_client.c:2551:48: error: dereferencing pointer to incomplete type 'struct ceph_fscrypt_auth'
    2551 |   u32 authlen = le32_to_cpu(req->r_fscrypt_auth->cfa_blob_len);
         |                                                ^~
   include/uapi/linux/swab.h:118:32: note: in definition of macro '__swab32'
     118 |  (__builtin_constant_p((__u32)(x)) ? \
         |                                ^
   include/linux/byteorder/generic.h:89:21: note: in expansion of macro '__le32_to_cpu'
      89 | #define le32_to_cpu __le32_to_cpu
         |                     ^~~~~~~~~~~~~
   fs/ceph/mds_client.c:2551:17: note: in expansion of macro 'le32_to_cpu'
    2551 |   u32 authlen = le32_to_cpu(req->r_fscrypt_auth->cfa_blob_len);
         |                 ^~~~~~~~~~~
   In file included from <command-line>:
   include/linux/compiler_types.h:140:35: error: invalid use of undefined type 'struct ceph_fscrypt_auth'
     140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
         |                                   ^~~~~~~~~~~~~~~~~~
   include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
      17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
         |                                ^~~~~~~~~~~~~~~~~~~
   fs/ceph/mds_client.c:2553:14: note: in expansion of macro 'offsetof'
    2553 |   authlen += offsetof(struct ceph_fscrypt_auth, cfa_blob);
         |              ^~~~~~~~
   fs/ceph/mds_client.c: In function 'create_request_message':
   include/linux/compiler_types.h:140:35: error: invalid use of undefined type 'struct ceph_fscrypt_auth'
     140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
         |                                   ^~~~~~~~~~~~~~~~~~
   include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
      17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
         |                                ^~~~~~~~~~~~~~~~~~~
   fs/ceph/mds_client.c:2611:10: note: in expansion of macro 'offsetof'
    2611 |   len += offsetof(struct ceph_fscrypt_auth, cfa_blob);
         |          ^~~~~~~~
   In file included from include/linux/swab.h:5,
                    from include/uapi/linux/byteorder/big_endian.h:13,
                    from include/linux/byteorder/big_endian.h:5,
                    from arch/sparc/include/uapi/asm/byteorder.h:5,
                    from arch/sparc/include/asm/bitops_64.h:16,
                    from arch/sparc/include/asm/bitops.h:5,
                    from include/linux/bitops.h:32,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/wait.h:7,
                    from include/linux/wait_bit.h:8,
                    from include/linux/fs.h:6,
                    from fs/ceph/mds_client.c:4:
   fs/ceph/mds_client.c:2612:41: error: dereferencing pointer to incomplete type 'struct ceph_fscrypt_auth'
    2612 |   len += le32_to_cpu(req->r_fscrypt_auth->cfa_blob_len);
         |                                         ^~
   include/uapi/linux/swab.h:118:32: note: in definition of macro '__swab32'
     118 |  (__builtin_constant_p((__u32)(x)) ? \
         |                                ^
   include/linux/byteorder/generic.h:89:21: note: in expansion of macro '__le32_to_cpu'
      89 | #define le32_to_cpu __le32_to_cpu
         |                     ^~~~~~~~~~~~~
   fs/ceph/mds_client.c:2612:10: note: in expansion of macro 'le32_to_cpu'
    2612 |   len += le32_to_cpu(req->r_fscrypt_auth->cfa_blob_len);
         |          ^~~~~~~~~~~

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for LOCKDEP
   Depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && (FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
   Selected by
   - PROVE_LOCKING && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
   - LOCK_STAT && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
   - DEBUG_LOCK_ALLOC && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT


vim +/ceph_fscrypt_free_dummy_policy +48 fs/ceph/super.c

18f473b384a64c Xiubo Li     2020-07-16  33  
16725b9d2a2e3d Sage Weil    2009-10-06  34  /*
16725b9d2a2e3d Sage Weil    2009-10-06  35   * Ceph superblock operations
16725b9d2a2e3d Sage Weil    2009-10-06  36   *
16725b9d2a2e3d Sage Weil    2009-10-06  37   * Handle the basics of mounting, unmounting.
16725b9d2a2e3d Sage Weil    2009-10-06  38   */
16725b9d2a2e3d Sage Weil    2009-10-06  39  
16725b9d2a2e3d Sage Weil    2009-10-06  40  /*
16725b9d2a2e3d Sage Weil    2009-10-06  41   * super ops
16725b9d2a2e3d Sage Weil    2009-10-06  42   */
16725b9d2a2e3d Sage Weil    2009-10-06  43  static void ceph_put_super(struct super_block *s)
16725b9d2a2e3d Sage Weil    2009-10-06  44  {
3d14c5d2b6e15c Yehuda Sadeh 2010-04-06  45  	struct ceph_fs_client *fsc = ceph_sb_to_client(s);
16725b9d2a2e3d Sage Weil    2009-10-06  46  
16725b9d2a2e3d Sage Weil    2009-10-06  47  	dout("put_super\n");
3492a7031784bc Jeff Layton  2020-09-08 @48  	ceph_fscrypt_free_dummy_policy(fsc);
3d14c5d2b6e15c Yehuda Sadeh 2010-04-06  49  	ceph_mdsc_close_sessions(fsc->mdsc);
16725b9d2a2e3d Sage Weil    2009-10-06  50  }
16725b9d2a2e3d Sage Weil    2009-10-06  51  

:::::: The code at line 48 was first introduced by commit
:::::: 3492a7031784bc89d79c492bd9ecf5bc87b9f1e9 ceph: implement -o test_dummy_encryption mount option

:::::: TO: Jeff Layton <jlayton@kernel.org>
:::::: CC: Jeff Layton <jlayton@kernel.org>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30975 bytes --]

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

only message in thread, other threads:[~2021-06-29  7:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-29  7:23 [jlayton:ceph-fscrypt-fnames 36/49] fs/ceph/super.c:48:33: error: passing argument 1 of 'ceph_fscrypt_free_dummy_policy' from incompatible pointer type 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.