[brauner:fs.idmapped.cifsd-for-next.ksmbd.v1 1/1] fs/ksmbd/smb2pdu.c:3542:10: error: implicit declaration of function 'lookup_one'; did you mean 'lookup_bdev'?

From: kernel test robot
Date: Sun Aug 29 2021 - 09:41:06 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git fs.idmapped.cifsd-for-next.ksmbd.v1
head: d3c98d2d9bf3486426648f06814e81cdce051455
commit: d3c98d2d9bf3486426648f06814e81cdce051455 [1/1] ksmbd: fix lookup on idmapped mounts
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git/commit/?id=d3c98d2d9bf3486426648f06814e81cdce051455
git remote add brauner https://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git
git fetch --no-tags brauner fs.idmapped.cifsd-for-next.ksmbd.v1
git checkout d3c98d2d9bf3486426648f06814e81cdce051455
# save the attached .config to linux build tree
make W=1 ARCH=x86_64

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

All errors (new ones prefixed by >>):

fs/ksmbd/smb2pdu.c: In function 'process_query_dir_entries':
>> fs/ksmbd/smb2pdu.c:3542:10: error: implicit declaration of function 'lookup_one'; did you mean 'lookup_bdev'? [-Werror=implicit-function-declaration]
3542 | dent = lookup_one(user_ns, priv->d_info->name,
| ^~~~~~~~~~
| lookup_bdev
fs/ksmbd/smb2pdu.c:3542:8: warning: assignment to 'struct dentry *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
3542 | dent = lookup_one(user_ns, priv->d_info->name,
| ^
cc1: some warnings being treated as errors
--
fs/ksmbd/vfs.c: In function 'ksmbd_vfs_lock_parent':
>> fs/ksmbd/vfs.c:79:11: error: implicit declaration of function 'lookup_one'; did you mean 'lookup_bdev'? [-Werror=implicit-function-declaration]
79 | dentry = lookup_one(user_ns, child->d_name.name, parent,
| ^~~~~~~~~~
| lookup_bdev
fs/ksmbd/vfs.c:79:9: warning: assignment to 'struct dentry *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
79 | dentry = lookup_one(user_ns, child->d_name.name, parent,
| ^
fs/ksmbd/vfs.c: In function 'ksmbd_vfs_mkdir':
fs/ksmbd/vfs.c:223:5: warning: assignment to 'struct dentry *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
223 | d = lookup_one(user_ns, dentry->d_name.name, dentry->d_parent,
| ^
fs/ksmbd/vfs.c: In function '__ksmbd_vfs_rename':
fs/ksmbd/vfs.c:753:11: warning: assignment to 'struct dentry *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
753 | dst_dent = lookup_one(dst_user_ns, dst_name, dst_dent_parent,
| ^
fs/ksmbd/vfs.c: In function 'ksmbd_vfs_fp_rename':
fs/ksmbd/vfs.c:816:12: warning: assignment to 'struct dentry *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
816 | src_child = lookup_one(user_ns, src_dent->d_name.name, src_dent_parent,
| ^
cc1: some warnings being treated as errors


vim +3542 fs/ksmbd/smb2pdu.c

3526
3527 static int process_query_dir_entries(struct smb2_query_dir_private *priv)
3528 {
3529 struct user_namespace *user_ns = file_mnt_user_ns(priv->dir_fp->filp);
3530 struct kstat kstat;
3531 struct ksmbd_kstat ksmbd_kstat;
3532 int rc;
3533 int i;
3534
3535 for (i = 0; i < priv->d_info->num_entry; i++) {
3536 struct dentry *dent;
3537
3538 if (dentry_name(priv->d_info, priv->info_level))
3539 return -EINVAL;
3540
3541 lock_dir(priv->dir_fp);
> 3542 dent = lookup_one(user_ns, priv->d_info->name,
3543 priv->dir_fp->filp->f_path.dentry,
3544 priv->d_info->name_len);
3545 unlock_dir(priv->dir_fp);
3546
3547 if (IS_ERR(dent)) {
3548 ksmbd_debug(SMB, "Cannot lookup `%s' [%ld]\n",
3549 priv->d_info->name,
3550 PTR_ERR(dent));
3551 continue;
3552 }
3553 if (unlikely(d_is_negative(dent))) {
3554 dput(dent);
3555 ksmbd_debug(SMB, "Negative dentry `%s'\n",
3556 priv->d_info->name);
3557 continue;
3558 }
3559
3560 ksmbd_kstat.kstat = &kstat;
3561 if (priv->info_level != FILE_NAMES_INFORMATION)
3562 ksmbd_vfs_fill_dentry_attrs(priv->work,
3563 user_ns,
3564 dent,
3565 &ksmbd_kstat);
3566
3567 rc = smb2_populate_readdir_entry(priv->work->conn,
3568 priv->info_level,
3569 priv->d_info,
3570 user_ns,
3571 &ksmbd_kstat);
3572 dput(dent);
3573 if (rc)
3574 return rc;
3575 }
3576 return 0;
3577 }
3578

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

Attachment: .config.gz
Description: application/gzip