ceph-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ceph-client:testing 32/75] fs/ceph/crypto.c:296:26: error: implicit declaration of function 'fscrypt_base64url_decode'; did you mean 'ceph_base64_decode'?
@ 2023-02-26 21:38 kernel test robot
  2023-02-27  0:57 ` Xiubo Li
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2023-02-26 21:38 UTC (permalink / raw)
  To: Jeff Layton; +Cc: oe-kbuild-all, ceph-devel, Ilya Dryomov, Xiubo Li

tree:   https://github.com/ceph/ceph-client.git testing
head:   69aa49c89640a5018393d2ae30e5a6071e3cf9c8
commit: 44947f44747cf0c16f0999962b4a43b6d8a2c6e8 [32/75] ceph: add helpers for converting names for userland presentation
config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20230227/202302270537.vINNROs9-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/ceph/ceph-client/commit/44947f44747cf0c16f0999962b4a43b6d8a2c6e8
        git remote add ceph-client https://github.com/ceph/ceph-client.git
        git fetch --no-tags ceph-client testing
        git checkout 44947f44747cf0c16f0999962b4a43b6d8a2c6e8
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sh olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sh SHELL=/bin/bash fs/ceph/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202302270537.vINNROs9-lkp@intel.com/

Note: the ceph-client/testing HEAD 69aa49c89640a5018393d2ae30e5a6071e3cf9c8 builds fine.
      It only hurts bisectability.

All errors (new ones prefixed by >>):

   fs/ceph/crypto.c: In function 'ceph_fname_to_usr':
   fs/ceph/crypto.c:267:31: error: implicit declaration of function 'FSCRYPT_BASE64URL_CHARS'; did you mean 'CEPH_BASE64_CHARS'? [-Werror=implicit-function-declaration]
     267 |         if (fname->name_len > FSCRYPT_BASE64URL_CHARS(NAME_MAX))
         |                               ^~~~~~~~~~~~~~~~~~~~~~~
         |                               CEPH_BASE64_CHARS
>> fs/ceph/crypto.c:296:26: error: implicit declaration of function 'fscrypt_base64url_decode'; did you mean 'ceph_base64_decode'? [-Werror=implicit-function-declaration]
     296 |                 declen = fscrypt_base64url_decode(fname->name, fname->name_len, tname->name);
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~
         |                          ceph_base64_decode
   cc1: some warnings being treated as errors


vim +296 fs/ceph/crypto.c

   237	
   238	/**
   239	 * ceph_fname_to_usr - convert a filename for userland presentation
   240	 * @fname: ceph_fname to be converted
   241	 * @tname: temporary name buffer to use for conversion (may be NULL)
   242	 * @oname: where converted name should be placed
   243	 * @is_nokey: set to true if key wasn't available during conversion (may be NULL)
   244	 *
   245	 * Given a filename (usually from the MDS), format it for presentation to
   246	 * userland. If @parent is not encrypted, just pass it back as-is.
   247	 *
   248	 * Otherwise, base64 decode the string, and then ask fscrypt to format it
   249	 * for userland presentation.
   250	 *
   251	 * Returns 0 on success or negative error code on error.
   252	 */
   253	int ceph_fname_to_usr(const struct ceph_fname *fname, struct fscrypt_str *tname,
   254			      struct fscrypt_str *oname, bool *is_nokey)
   255	{
   256		int ret;
   257		struct fscrypt_str _tname = FSTR_INIT(NULL, 0);
   258		struct fscrypt_str iname;
   259	
   260		if (!IS_ENCRYPTED(fname->dir)) {
   261			oname->name = fname->name;
   262			oname->len = fname->name_len;
   263			return 0;
   264		}
   265	
   266		/* Sanity check that the resulting name will fit in the buffer */
   267		if (fname->name_len > FSCRYPT_BASE64URL_CHARS(NAME_MAX))
   268			return -EIO;
   269	
   270		ret = __fscrypt_prepare_readdir(fname->dir);
   271		if (ret)
   272			return ret;
   273	
   274		/*
   275		 * Use the raw dentry name as sent by the MDS instead of
   276		 * generating a nokey name via fscrypt.
   277		 */
   278		if (!fscrypt_has_encryption_key(fname->dir)) {
   279			memcpy(oname->name, fname->name, fname->name_len);
   280			oname->len = fname->name_len;
   281			if (is_nokey)
   282				*is_nokey = true;
   283			return 0;
   284		}
   285	
   286		if (fname->ctext_len == 0) {
   287			int declen;
   288	
   289			if (!tname) {
   290				ret = fscrypt_fname_alloc_buffer(NAME_MAX, &_tname);
   291				if (ret)
   292					return ret;
   293				tname = &_tname;
   294			}
   295	
 > 296			declen = fscrypt_base64url_decode(fname->name, fname->name_len, tname->name);

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-02-27  0:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-26 21:38 [ceph-client:testing 32/75] fs/ceph/crypto.c:296:26: error: implicit declaration of function 'fscrypt_base64url_decode'; did you mean 'ceph_base64_decode'? kernel test robot
2023-02-27  0:57 ` Xiubo Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).