Re: [PATCH v1 1/4] misc: fastrpc: Add CRC support using invokeV2 request

kernel test robot
2024-10-08T01:42:33Z

Hi Ekansh,

kernel test robot noticed the following build errors:

[auto build test ERROR on char-misc/char-misc-testing]
[also build test ERROR on char-misc/char-misc-next char-misc/char-misc-linus linus/master v6.12-rc2 next-20241004]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Ekansh-Gupta/misc-fastrpc-Add-CRC-support-using-invokeV2-request/20241007-164734
base: char-misc/char-misc-testing
patch link: https://lore.kernel.org/r/20241007084518.3649876-2-quic_ekangupt%40quicinc.com
patch subject: [PATCH v1 1/4] misc: fastrpc: Add CRC support using invokeV2 request
config: arm-randconfig-002-20241008 (https://download.01.org/0day-ci/archive/20241008/202410080940.S7Rar8Zi-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project fef3566a25ff0e34fb87339ba5e13eca17cec00f)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241008/202410080940.S7Rar8Zi-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410080940.S7Rar8Zi-lkp@intel.com/

All errors (new ones prefixed by >>):

In file included from drivers/misc/fastrpc.c:7:
In file included from include/linux/dma-buf.h:19:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:2213:
include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
518 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
>> drivers/misc/fastrpc.c:1696:12: error: incompatible pointer to integer conversion assigning to '__u64' (aka 'unsigned long long') from 'struct fastrpc_invoke_args *' [-Wint-conversion]
1696 | inv->args = args;
| ^ ~~~~
>> drivers/misc/fastrpc.c:1716:8: error: incompatible integer to pointer conversion passing '__u64' (aka 'unsigned long long') to parameter of type 'const void *' [-Wint-conversion]
1716 | kfree(inv.args);
| ^~~~~~~~
include/linux/slab.h:446:24: note: passing argument to parameter 'objp' here
446 | void kfree(const void *objp);
| ^
drivers/misc/fastrpc.c:1734:8: error: incompatible integer to pointer conversion passing '__u64' (aka 'unsigned long long') to parameter of type 'const void *' [-Wint-conversion]
1734 | kfree(inv2.inv.args);
| ^~~~~~~~~~~~~
include/linux/slab.h:446:24: note: passing argument to parameter 'objp' here
446 | void kfree(const void *objp);
| ^
1 warning and 3 errors generated.

vim +1696 drivers/misc/fastrpc.c

1677
1678 static int fastrpc_copy_args(struct fastrpc_invoke *inv)
1679 {
1680 struct fastrpc_invoke_args *args = NULL;
1681 u32 nscalars;
1682
1683 /* nscalars is truncated here to max supported value */
1684 nscalars = REMOTE_SCALARS_LENGTH(inv->sc);
1685 if (nscalars) {
1686 args = kcalloc(nscalars, sizeof(*args), GFP_KERNEL);
1687 if (!args)
1688 return -ENOMEM;
1689
1690 if (copy_from_user(args, (void __user *)(uintptr_t)inv->args,
1691 nscalars * sizeof(*args))) {
1692 kfree(args);
1693 return -EFAULT;
1694 }
1695 }
> 1696 inv->args = args;
1697
1698 return 0;
1699 }
1700
1701 static int fastrpc_invoke(struct fastrpc_user *fl, char __user *argp)
1702 {
1703 struct fastrpc_invoke_v2 ioctl = {0};
1704 struct fastrpc_invoke inv;
1705 int err;
1706
1707 if (copy_from_user(&inv, argp, sizeof(inv)))
1708 return -EFAULT;
1709
1710 err = fastrpc_copy_args(&inv);
1711 if (err)
1712 return err;
1713
1714 ioctl.inv = inv;
1715 err = fastrpc_internal_invoke(fl, false, &ioctl);
> 1716 kfree(inv.args);
1717
1718 return err;
1719 }
1720

--
0-DAY CI Kernel Test Service