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: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20241008/202410081016.Nuyub4XK-lkp@xxxxxxxxx/config) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241008/202410081016.Nuyub4XK-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202410081016.Nuyub4XK-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): drivers/misc/fastrpc.c: In function 'fastrpc_copy_args': >> drivers/misc/fastrpc.c:1696:19: error: assignment to '__u64' {aka 'long long unsigned int'} from 'struct fastrpc_invoke_args *' makes integer from pointer without a cast [-Wint-conversion] 1696 | inv->args = args; | ^ drivers/misc/fastrpc.c: In function 'fastrpc_invoke': >> drivers/misc/fastrpc.c:1716:18: error: passing argument 1 of 'kfree' makes pointer from integer without a cast [-Wint-conversion] 1716 | kfree(inv.args); | ~~~^~~~~ | | | __u64 {aka long long unsigned int} In file included from include/linux/fs.h:45, from arch/loongarch/include/asm/elf.h:9, from include/linux/elf.h:6, from include/linux/module.h:19, from include/linux/device/driver.h:21, from include/linux/device.h:32, from drivers/misc/fastrpc.c:6: include/linux/slab.h:446:24: note: expected 'const void *' but argument is of type '__u64' {aka 'long long unsigned int'} 446 | void kfree(const void *objp); | ~~~~~~~~~~~~^~~~ drivers/misc/fastrpc.c: In function 'fastrpc_invokev2': drivers/misc/fastrpc.c:1734:23: error: passing argument 1 of 'kfree' makes pointer from integer without a cast [-Wint-conversion] 1734 | kfree(inv2.inv.args); | ~~~~~~~~^~~~~ | | | __u64 {aka long long unsigned int} include/linux/slab.h:446:24: note: expected 'const void *' but argument is of type '__u64' {aka 'long long unsigned int'} 446 | void kfree(const void *objp); | ~~~~~~~~~~~~^~~~ 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 https://github.com/intel/lkp-tests/wiki