Message ID | 20220404061948.2111820-8-masahiroy@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | UAPI: make more exported headers self-contained, and put them into test coverage | expand |
Hi Masahiro,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on linux/master v5.18-rc1 next-20220404]
[cannot apply to soc/for-next drm/drm-next powerpc/next uclinux-h8/h8300-next s390/features arnd-asm-generic/master]
[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]
url: https://github.com/intel-lab-lkp/linux/commits/Masahiro-Yamada/UAPI-make-more-exported-headers-self-contained-and-put-them-into-test-coverage/20220404-142226
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git be2d3ecedd9911fbfd7e55cc9ceac5f8b79ae4cf
config: i386-randconfig-a006 (https://download.01.org/0day-ci/archive/20220404/202204041919.bIUKxOch-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c4a1b07d0979e7ff20d7d541af666d822d66b566)
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/intel-lab-lkp/linux/commit/e8154d995f34b79843e473d85645fb543d554e7f
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Masahiro-Yamada/UAPI-make-more-exported-headers-self-contained-and-put-them-into-test-coverage/20220404-142226
git checkout e8154d995f34b79843e473d85645fb543d554e7f
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash sound/soc/fsl/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> sound/soc/fsl/imx-audmux.c:148:40: warning: format specifies type 'unsigned long' but the argument has type 'uintptr_t' (aka 'unsigned int') [-Wformat]
snprintf(buf, sizeof(buf), "ssi%lu", i);
~~~ ^
%u
1 warning generated.
vim +148 sound/soc/fsl/imx-audmux.c
7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 139
b8909783a22b4f sound/soc/fsl/imx-audmux.c Lars-Peter Clausen 2014-04-24 140 static void audmux_debugfs_init(void)
7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 141 {
e5f89768e9bc1f sound/soc/fsl/imx-audmux.c Mark Brown 2014-08-01 142 uintptr_t i;
7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 143 char buf[20];
7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 144
7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 145 audmux_debugfs_root = debugfs_create_dir("audmux", NULL);
7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 146
409b78cc17a4a3 sound/soc/fsl/imx-audmux.c Torben Hohn 2012-07-18 147 for (i = 0; i < MX31_AUDMUX_PORT7_SSI_PINS_7 + 1; i++) {
e5f89768e9bc1f sound/soc/fsl/imx-audmux.c Mark Brown 2014-08-01 @148 snprintf(buf, sizeof(buf), "ssi%lu", i);
227ab8baa15bdd sound/soc/fsl/imx-audmux.c Greg Kroah-Hartman 2019-06-14 149 debugfs_create_file(buf, 0444, audmux_debugfs_root,
227ab8baa15bdd sound/soc/fsl/imx-audmux.c Greg Kroah-Hartman 2019-06-14 150 (void *)i, &audmux_debugfs_fops);
7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 151 }
7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 152 }
3bc34a6143359d arch/arm/plat-mxc/audmux.c Richard Zhao 2012-03-05 153
Hi Masahiro, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on davem-sparc/master linux/master v5.18-rc1 next-20220404] [cannot apply to soc/for-next drm/drm-next powerpc/next uclinux-h8/h8300-next s390/features arnd-asm-generic/master] [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] url: https://github.com/intel-lab-lkp/linux/commits/Masahiro-Yamada/UAPI-make-more-exported-headers-self-contained-and-put-them-into-test-coverage/20220404-142226 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git be2d3ecedd9911fbfd7e55cc9ceac5f8b79ae4cf config: nios2-allyesconfig (https://download.01.org/0day-ci/archive/20220404/202204041932.AgusAQLn-lkp@intel.com/config) compiler: nios2-linux-gcc (GCC) 11.2.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/intel-lab-lkp/linux/commit/e8154d995f34b79843e473d85645fb543d554e7f git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Masahiro-Yamada/UAPI-make-more-exported-headers-self-contained-and-put-them-into-test-coverage/20220404-142226 git checkout e8154d995f34b79843e473d85645fb543d554e7f # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nios2 SHELL=/bin/bash drivers/misc/ sound/soc/fsl/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): In file included from include/linux/printk.h:555, from include/asm-generic/bug.h:22, from ./arch/nios2/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/thread_info.h:13, from include/asm-generic/preempt.h:5, from ./arch/nios2/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:55, from include/linux/swait.h:7, from include/linux/completion.h:12, from drivers/misc/fastrpc.c:5: drivers/misc/fastrpc.c: In function 'fastrpc_req_munmap_impl': >> drivers/misc/fastrpc.c:1639:30: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'uintptr_t' {aka 'unsigned int'} [-Wformat=] 1639 | dev_dbg(dev, "unmmap\tpt 0x%09lx OK\n", buf->raddr); | ^~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/dynamic_debug.h:134:29: note: in definition of macro '__dynamic_func_call' 134 | func(&id, ##__VA_ARGS__); \ | ^~~~~~~~~~~ include/linux/dynamic_debug.h:166:9: note: in expansion of macro '_dynamic_func_call' 166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \ | ^~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:155:9: note: in expansion of macro 'dynamic_dev_dbg' 155 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~~~~~ include/linux/dev_printk.h:155:30: note: in expansion of macro 'dev_fmt' 155 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~ drivers/misc/fastrpc.c:1639:17: note: in expansion of macro 'dev_dbg' 1639 | dev_dbg(dev, "unmmap\tpt 0x%09lx OK\n", buf->raddr); | ^~~~~~~ drivers/misc/fastrpc.c:1639:48: note: format string is defined here 1639 | dev_dbg(dev, "unmmap\tpt 0x%09lx OK\n", buf->raddr); | ~~~~^ | | | long unsigned int | %09x In file included from include/linux/device.h:15, from drivers/misc/fastrpc.c:6: drivers/misc/fastrpc.c:1645:30: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'uintptr_t' {aka 'unsigned int'} [-Wformat=] 1645 | dev_err(dev, "unmmap\tpt 0x%09lx ERROR\n", buf->raddr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap' 110 | _p_func(dev, fmt, ##__VA_ARGS__); \ | ^~~ include/linux/dev_printk.h:144:56: note: in expansion of macro 'dev_fmt' 144 | dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~ drivers/misc/fastrpc.c:1645:17: note: in expansion of macro 'dev_err' 1645 | dev_err(dev, "unmmap\tpt 0x%09lx ERROR\n", buf->raddr); | ^~~~~~~ drivers/misc/fastrpc.c:1645:48: note: format string is defined here 1645 | dev_err(dev, "unmmap\tpt 0x%09lx ERROR\n", buf->raddr); | ~~~~^ | | | long unsigned int | %09x In file included from include/linux/printk.h:555, from include/asm-generic/bug.h:22, from ./arch/nios2/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/thread_info.h:13, from include/asm-generic/preempt.h:5, from ./arch/nios2/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:55, from include/linux/swait.h:7, from include/linux/completion.h:12, from drivers/misc/fastrpc.c:5: drivers/misc/fastrpc.c: In function 'fastrpc_req_mmap': drivers/misc/fastrpc.c:1736:22: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'uintptr_t' {aka 'unsigned int'} [-Wformat=] 1736 | dev_dbg(dev, "mmap\t\tpt 0x%09lx OK [len 0x%08llx]\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/dynamic_debug.h:134:29: note: in definition of macro '__dynamic_func_call' 134 | func(&id, ##__VA_ARGS__); \ | ^~~~~~~~~~~ include/linux/dynamic_debug.h:166:9: note: in expansion of macro '_dynamic_func_call' 166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \ | ^~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:155:9: note: in expansion of macro 'dynamic_dev_dbg' 155 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~~~~~ include/linux/dev_printk.h:155:30: note: in expansion of macro 'dev_fmt' 155 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~ drivers/misc/fastrpc.c:1736:9: note: in expansion of macro 'dev_dbg' 1736 | dev_dbg(dev, "mmap\t\tpt 0x%09lx OK [len 0x%08llx]\n", | ^~~~~~~ drivers/misc/fastrpc.c:1736:40: note: format string is defined here 1736 | dev_dbg(dev, "mmap\t\tpt 0x%09lx OK [len 0x%08llx]\n", | ~~~~^ | | | long unsigned int | %09x -- sound/soc/fsl/imx-audmux.c: In function 'audmux_debugfs_init': >> sound/soc/fsl/imx-audmux.c:148:50: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'uintptr_t' {aka 'unsigned int'} [-Wformat=] 148 | snprintf(buf, sizeof(buf), "ssi%lu", i); | ~~^ ~ | | | | | uintptr_t {aka unsigned int} | long unsigned int | %u vim +1639 drivers/misc/fastrpc.c 6c16fd8bdd4058 Jeya R 2022-02-14 1604 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1605 static int fastrpc_req_munmap_impl(struct fastrpc_user *fl, 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1606 struct fastrpc_req_munmap *req) 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1607 { 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1608 struct fastrpc_invoke_args args[1] = { [0] = { 0 } }; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1609 struct fastrpc_buf *buf, *b; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1610 struct fastrpc_munmap_req_msg req_msg; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1611 struct device *dev = fl->sctx->dev; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1612 int err; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1613 u32 sc; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1614 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1615 spin_lock(&fl->lock); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1616 list_for_each_entry_safe(buf, b, &fl->mmaps, node) { 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1617 if ((buf->raddr == req->vaddrout) && (buf->size == req->size)) 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1618 break; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1619 buf = NULL; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1620 } 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1621 spin_unlock(&fl->lock); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1622 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1623 if (!buf) { 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1624 dev_err(dev, "mmap not in list\n"); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1625 return -EINVAL; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1626 } 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1627 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1628 req_msg.pgid = fl->tgid; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1629 req_msg.size = buf->size; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1630 req_msg.vaddr = buf->raddr; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1631 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1632 args[0].ptr = (u64) (uintptr_t) &req_msg; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1633 args[0].length = sizeof(req_msg); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1634 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1635 sc = FASTRPC_SCALARS(FASTRPC_RMID_INIT_MUNMAP, 1, 0); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1636 err = fastrpc_internal_invoke(fl, true, FASTRPC_INIT_HANDLE, sc, 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1637 &args[0]); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1638 if (!err) { 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 @1639 dev_dbg(dev, "unmmap\tpt 0x%09lx OK\n", buf->raddr); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1640 spin_lock(&fl->lock); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1641 list_del(&buf->node); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1642 spin_unlock(&fl->lock); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1643 fastrpc_buf_free(buf); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1644 } else { 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1645 dev_err(dev, "unmmap\tpt 0x%09lx ERROR\n", buf->raddr); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1646 } 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1647 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1648 return err; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1649 } 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1650
On Mon, Apr 4, 2022 at 8:31 PM kernel test robot <lkp@intel.com> wrote: > > Hi Masahiro, > > I love your patch! Perhaps something to improve: > > [auto build test WARNING on linus/master] > [also build test WARNING on linux/master v5.18-rc1 next-20220404] > [cannot apply to soc/for-next drm/drm-next powerpc/next uclinux-h8/h8300-next s390/features arnd-asm-generic/master] > [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] > > url: https://github.com/intel-lab-lkp/linux/commits/Masahiro-Yamada/UAPI-make-more-exported-headers-self-contained-and-put-them-into-test-coverage/20220404-142226 > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git be2d3ecedd9911fbfd7e55cc9ceac5f8b79ae4cf > config: i386-randconfig-a006 (https://download.01.org/0day-ci/archive/20220404/202204041919.bIUKxOch-lkp@intel.com/config) > compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c4a1b07d0979e7ff20d7d541af666d822d66b566) > 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/intel-lab-lkp/linux/commit/e8154d995f34b79843e473d85645fb543d554e7f > git remote add linux-review https://github.com/intel-lab-lkp/linux > git fetch --no-tags linux-review Masahiro-Yamada/UAPI-make-more-exported-headers-self-contained-and-put-them-into-test-coverage/20220404-142226 > git checkout e8154d995f34b79843e473d85645fb543d554e7f > # save the config file to linux build tree > mkdir build_dir > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash sound/soc/fsl/ > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@intel.com> > > All warnings (new ones prefixed by >>): > > >> sound/soc/fsl/imx-audmux.c:148:40: warning: format specifies type 'unsigned long' but the argument has type 'uintptr_t' (aka 'unsigned int') [-Wformat] > snprintf(buf, sizeof(buf), "ssi%lu", i); > ~~~ ^ > %u > 1 warning generated. > Hmm, we highly relied on the fact that the pointer size and the 'long' size are the same. (for both 32-bit and 64-bit). So, using %lu specifier for printing 'uintptr_t' seems correct. typedef unsigned long __kernel_uintptr_t; is OK from the kernel space perspective, but I do not know the impact to the userspace. Arnd, any thoughts? > vim +148 sound/soc/fsl/imx-audmux.c > > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 139 > b8909783a22b4f sound/soc/fsl/imx-audmux.c Lars-Peter Clausen 2014-04-24 140 static void audmux_debugfs_init(void) > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 141 { > e5f89768e9bc1f sound/soc/fsl/imx-audmux.c Mark Brown 2014-08-01 142 uintptr_t i; > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 143 char buf[20]; > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 144 > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 145 audmux_debugfs_root = debugfs_create_dir("audmux", NULL); > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 146 > 409b78cc17a4a3 sound/soc/fsl/imx-audmux.c Torben Hohn 2012-07-18 147 for (i = 0; i < MX31_AUDMUX_PORT7_SSI_PINS_7 + 1; i++) { > e5f89768e9bc1f sound/soc/fsl/imx-audmux.c Mark Brown 2014-08-01 @148 snprintf(buf, sizeof(buf), "ssi%lu", i); > 227ab8baa15bdd sound/soc/fsl/imx-audmux.c Greg Kroah-Hartman 2019-06-14 149 debugfs_create_file(buf, 0444, audmux_debugfs_root, > 227ab8baa15bdd sound/soc/fsl/imx-audmux.c Greg Kroah-Hartman 2019-06-14 150 (void *)i, &audmux_debugfs_fops); > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 151 } > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 152 } > 3bc34a6143359d arch/arm/plat-mxc/audmux.c Richard Zhao 2012-03-05 153 > > -- > 0-DAY CI Kernel Test Service > https://01.org/lkp
On Mon, Apr 4, 2022 at 8:51 PM Masahiro Yamada <masahiroy@kernel.org> wrote: > > On Mon, Apr 4, 2022 at 8:31 PM kernel test robot <lkp@intel.com> wrote: > > > > Hi Masahiro, > > > > I love your patch! Perhaps something to improve: > > > > [auto build test WARNING on linus/master] > > [also build test WARNING on linux/master v5.18-rc1 next-20220404] > > [cannot apply to soc/for-next drm/drm-next powerpc/next uclinux-h8/h8300-next s390/features arnd-asm-generic/master] > > [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] > > > > url: https://github.com/intel-lab-lkp/linux/commits/Masahiro-Yamada/UAPI-make-more-exported-headers-self-contained-and-put-them-into-test-coverage/20220404-142226 > > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git be2d3ecedd9911fbfd7e55cc9ceac5f8b79ae4cf > > config: i386-randconfig-a006 (https://download.01.org/0day-ci/archive/20220404/202204041919.bIUKxOch-lkp@intel.com/config) > > compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c4a1b07d0979e7ff20d7d541af666d822d66b566) > > 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/intel-lab-lkp/linux/commit/e8154d995f34b79843e473d85645fb543d554e7f > > git remote add linux-review https://github.com/intel-lab-lkp/linux > > git fetch --no-tags linux-review Masahiro-Yamada/UAPI-make-more-exported-headers-self-contained-and-put-them-into-test-coverage/20220404-142226 > > git checkout e8154d995f34b79843e473d85645fb543d554e7f > > # save the config file to linux build tree > > mkdir build_dir > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash sound/soc/fsl/ > > > > If you fix the issue, kindly add following tag as appropriate > > Reported-by: kernel test robot <lkp@intel.com> > > > > All warnings (new ones prefixed by >>): > > > > >> sound/soc/fsl/imx-audmux.c:148:40: warning: format specifies type 'unsigned long' but the argument has type 'uintptr_t' (aka 'unsigned int') [-Wformat] > > snprintf(buf, sizeof(buf), "ssi%lu", i); > > ~~~ ^ > > %u > > 1 warning generated. > > > > Hmm, we highly relied on the fact that the pointer size and > the 'long' size are the same. > (for both 32-bit and 64-bit). > > So, using %lu specifier for printing 'uintptr_t' seems correct. > > typedef unsigned long __kernel_uintptr_t; > > is OK from the kernel space perspective, > but I do not know the impact to the userspace. > > Arnd, any thoughts? I think we should do the same as int-ll64.h vs int-l64.h We completely switched to int-ll64.h for the kernel space, but some architectures export int-l64.h For example, arch/mips/include/uapi/asm/types.h > > > > > > > > vim +148 sound/soc/fsl/imx-audmux.c > > > > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 139 > > b8909783a22b4f sound/soc/fsl/imx-audmux.c Lars-Peter Clausen 2014-04-24 140 static void audmux_debugfs_init(void) > > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 141 { > > e5f89768e9bc1f sound/soc/fsl/imx-audmux.c Mark Brown 2014-08-01 142 uintptr_t i; > > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 143 char buf[20]; > > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 144 > > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 145 audmux_debugfs_root = debugfs_create_dir("audmux", NULL); > > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 146 > > 409b78cc17a4a3 sound/soc/fsl/imx-audmux.c Torben Hohn 2012-07-18 147 for (i = 0; i < MX31_AUDMUX_PORT7_SSI_PINS_7 + 1; i++) { > > e5f89768e9bc1f sound/soc/fsl/imx-audmux.c Mark Brown 2014-08-01 @148 snprintf(buf, sizeof(buf), "ssi%lu", i); > > 227ab8baa15bdd sound/soc/fsl/imx-audmux.c Greg Kroah-Hartman 2019-06-14 149 debugfs_create_file(buf, 0444, audmux_debugfs_root, > > 227ab8baa15bdd sound/soc/fsl/imx-audmux.c Greg Kroah-Hartman 2019-06-14 150 (void *)i, &audmux_debugfs_fops); > > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 151 } > > 7b4e08a77f0cbf arch/arm/plat-mxc/audmux-v2.c Mark Brown 2010-01-11 152 } > > 3bc34a6143359d arch/arm/plat-mxc/audmux.c Richard Zhao 2012-03-05 153 > > > > -- > > 0-DAY CI Kernel Test Service > > https://01.org/lkp > > > > -- > Best Regards > Masahiro Yamada
Hi Masahiro, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on linux/master v5.18-rc1 next-20220404] [cannot apply to soc/for-next drm/drm-next powerpc/next uclinux-h8/h8300-next s390/features arnd-asm-generic/master] [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] url: https://github.com/intel-lab-lkp/linux/commits/Masahiro-Yamada/UAPI-make-more-exported-headers-self-contained-and-put-them-into-test-coverage/20220404-142226 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git be2d3ecedd9911fbfd7e55cc9ceac5f8b79ae4cf config: arm-randconfig-r016-20220404 (https://download.01.org/0day-ci/archive/20220404/202204042058.5Kr6q6YX-lkp@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c4a1b07d0979e7ff20d7d541af666d822d66b566) 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 # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/intel-lab-lkp/linux/commit/e8154d995f34b79843e473d85645fb543d554e7f git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Masahiro-Yamada/UAPI-make-more-exported-headers-self-contained-and-put-them-into-test-coverage/20220404-142226 git checkout e8154d995f34b79843e473d85645fb543d554e7f # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/misc/ sound/soc/fsl/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): >> drivers/misc/fastrpc.c:1639:43: warning: format specifies type 'unsigned long' but the argument has type 'uintptr_t' (aka 'unsigned int') [-Wformat] dev_dbg(dev, "unmmap\tpt 0x%09lx OK\n", buf->raddr); ~~~~~ ^~~~~~~~~~ %09x include/linux/dev_printk.h:163:47: note: expanded from macro 'dev_dbg' dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__); \ ~~~ ^~~~~~~~~~~ include/linux/dev_printk.h:129:34: note: expanded from macro 'dev_printk' _dev_printk(level, dev, fmt, ##__VA_ARGS__); \ ~~~ ^~~~~~~~~~~ drivers/misc/fastrpc.c:1645:46: warning: format specifies type 'unsigned long' but the argument has type 'uintptr_t' (aka 'unsigned int') [-Wformat] dev_err(dev, "unmmap\tpt 0x%09lx ERROR\n", buf->raddr); ~~~~~ ^~~~~~~~~~ %09x include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err' dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap' _p_func(dev, fmt, ##__VA_ARGS__); \ ~~~ ^~~~~~~~~~~ drivers/misc/fastrpc.c:1737:3: warning: format specifies type 'unsigned long' but the argument has type 'uintptr_t' (aka 'unsigned int') [-Wformat] buf->raddr, buf->size); ^~~~~~~~~~ include/linux/dev_printk.h:163:47: note: expanded from macro 'dev_dbg' dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__); \ ~~~ ^~~~~~~~~~~ include/linux/dev_printk.h:129:34: note: expanded from macro 'dev_printk' _dev_printk(level, dev, fmt, ##__VA_ARGS__); \ ~~~ ^~~~~~~~~~~ 3 warnings generated. -- >> sound/soc/fsl/imx-audmux.c:148:40: warning: format specifies type 'unsigned long' but the argument has type 'uintptr_t' (aka 'unsigned int') [-Wformat] snprintf(buf, sizeof(buf), "ssi%lu", i); ~~~ ^ %u 1 warning generated. vim +1639 drivers/misc/fastrpc.c 6c16fd8bdd4058 Jeya R 2022-02-14 1604 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1605 static int fastrpc_req_munmap_impl(struct fastrpc_user *fl, 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1606 struct fastrpc_req_munmap *req) 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1607 { 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1608 struct fastrpc_invoke_args args[1] = { [0] = { 0 } }; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1609 struct fastrpc_buf *buf, *b; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1610 struct fastrpc_munmap_req_msg req_msg; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1611 struct device *dev = fl->sctx->dev; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1612 int err; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1613 u32 sc; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1614 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1615 spin_lock(&fl->lock); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1616 list_for_each_entry_safe(buf, b, &fl->mmaps, node) { 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1617 if ((buf->raddr == req->vaddrout) && (buf->size == req->size)) 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1618 break; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1619 buf = NULL; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1620 } 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1621 spin_unlock(&fl->lock); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1622 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1623 if (!buf) { 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1624 dev_err(dev, "mmap not in list\n"); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1625 return -EINVAL; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1626 } 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1627 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1628 req_msg.pgid = fl->tgid; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1629 req_msg.size = buf->size; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1630 req_msg.vaddr = buf->raddr; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1631 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1632 args[0].ptr = (u64) (uintptr_t) &req_msg; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1633 args[0].length = sizeof(req_msg); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1634 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1635 sc = FASTRPC_SCALARS(FASTRPC_RMID_INIT_MUNMAP, 1, 0); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1636 err = fastrpc_internal_invoke(fl, true, FASTRPC_INIT_HANDLE, sc, 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1637 &args[0]); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1638 if (!err) { 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 @1639 dev_dbg(dev, "unmmap\tpt 0x%09lx OK\n", buf->raddr); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1640 spin_lock(&fl->lock); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1641 list_del(&buf->node); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1642 spin_unlock(&fl->lock); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1643 fastrpc_buf_free(buf); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1644 } else { 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1645 dev_err(dev, "unmmap\tpt 0x%09lx ERROR\n", buf->raddr); 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1646 } 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1647 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1648 return err; 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1649 } 2419e55e532de1 Jorge Ramirez-Ortiz 2019-10-09 1650
diff --git a/arch/h8300/include/uapi/asm/posix_types.h b/arch/h8300/include/uapi/asm/posix_types.h index 3efc9dd59476..9728120c6742 100644 --- a/arch/h8300/include/uapi/asm/posix_types.h +++ b/arch/h8300/include/uapi/asm/posix_types.h @@ -7,6 +7,7 @@ typedef unsigned long __kernel_size_t; typedef long __kernel_ssize_t; typedef long __kernel_ptrdiff_t; +typedef unsigned long __kernel_uintptr_t; #include <asm-generic/posix_types.h> diff --git a/arch/s390/include/uapi/asm/posix_types.h b/arch/s390/include/uapi/asm/posix_types.h index 1913613e71b6..2c700a44bf83 100644 --- a/arch/s390/include/uapi/asm/posix_types.h +++ b/arch/s390/include/uapi/asm/posix_types.h @@ -34,6 +34,7 @@ typedef unsigned short __kernel_ipc_pid_t; typedef unsigned short __kernel_uid_t; typedef unsigned short __kernel_gid_t; typedef int __kernel_ptrdiff_t; +typedef unsigned int __kernel_uintptr_t; #else /* __s390x__ */ @@ -43,6 +44,7 @@ typedef int __kernel_ipc_pid_t; typedef unsigned int __kernel_uid_t; typedef unsigned int __kernel_gid_t; typedef long __kernel_ptrdiff_t; +typedef unsigned long __kernel_uintptr_t; typedef unsigned long __kernel_sigset_t; /* at least 32 bits */ #endif /* __s390x__ */ diff --git a/arch/sparc/include/uapi/asm/posix_types.h b/arch/sparc/include/uapi/asm/posix_types.h index f139e0048628..402e1656e3b5 100644 --- a/arch/sparc/include/uapi/asm/posix_types.h +++ b/arch/sparc/include/uapi/asm/posix_types.h @@ -35,6 +35,7 @@ struct __kernel_old_timeval { typedef unsigned int __kernel_size_t; typedef int __kernel_ssize_t; typedef long int __kernel_ptrdiff_t; +typedef unsigned long __kernel_uintptr_t; #define __kernel_size_t __kernel_size_t typedef unsigned short __kernel_ipc_pid_t; diff --git a/arch/xtensa/include/uapi/asm/posix_types.h b/arch/xtensa/include/uapi/asm/posix_types.h index 1dc67592881f..5ba366f6c789 100644 --- a/arch/xtensa/include/uapi/asm/posix_types.h +++ b/arch/xtensa/include/uapi/asm/posix_types.h @@ -26,6 +26,7 @@ typedef unsigned short __kernel_ipc_pid_t; typedef unsigned int __kernel_size_t; typedef int __kernel_ssize_t; typedef long __kernel_ptrdiff_t; +typedef unsigned long __kernel_uintptr_t; #define __kernel_size_t __kernel_size_t typedef unsigned short __kernel_old_uid_t; diff --git a/include/linux/types.h b/include/linux/types.h index ea8cf60a8a79..a54335007fe2 100644 --- a/include/linux/types.h +++ b/include/linux/types.h @@ -34,7 +34,7 @@ typedef __kernel_gid32_t gid_t; typedef __kernel_uid16_t uid16_t; typedef __kernel_gid16_t gid16_t; -typedef unsigned long uintptr_t; +typedef __kernel_uintptr_t uintptr_t; #ifdef CONFIG_HAVE_UID16 /* This is defined by include/asm-{arch}/posix_types.h */ diff --git a/include/uapi/asm-generic/posix_types.h b/include/uapi/asm-generic/posix_types.h index b5f7594eee7a..4a7c5b852e38 100644 --- a/include/uapi/asm-generic/posix_types.h +++ b/include/uapi/asm-generic/posix_types.h @@ -68,10 +68,12 @@ typedef unsigned int __kernel_old_dev_t; typedef unsigned int __kernel_size_t; typedef int __kernel_ssize_t; typedef int __kernel_ptrdiff_t; +typedef unsigned int __kernel_uintptr_t; #else typedef __kernel_ulong_t __kernel_size_t; typedef __kernel_long_t __kernel_ssize_t; typedef __kernel_long_t __kernel_ptrdiff_t; +typedef __kernel_ulong_t __kernel_uintptr_t; #endif #endif diff --git a/tools/arch/h8300/include/asm/bitsperlong.h b/tools/arch/h8300/include/asm/bitsperlong.h index fa1508337ffc..fea7dc923006 100644 --- a/tools/arch/h8300/include/asm/bitsperlong.h +++ b/tools/arch/h8300/include/asm/bitsperlong.h @@ -10,6 +10,7 @@ typedef unsigned long __kernel_size_t; typedef long __kernel_ssize_t; typedef long __kernel_ptrdiff_t; +typedef unsigned long __kernel_uintptr_t; #endif #endif /* __ASM_H8300_BITS_PER_LONG */
This will allow us to replace uintptr_t with __kernel_uintptr_t in exported headers. I think this is acceptable because we already have __kernel_ptrdiff_t. Define __kernel_uintptr_t in the same ways as __kernel_ptrdiff_t but with 'unsigned' qualifier. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- arch/h8300/include/uapi/asm/posix_types.h | 1 + arch/s390/include/uapi/asm/posix_types.h | 2 ++ arch/sparc/include/uapi/asm/posix_types.h | 1 + arch/xtensa/include/uapi/asm/posix_types.h | 1 + include/linux/types.h | 2 +- include/uapi/asm-generic/posix_types.h | 2 ++ tools/arch/h8300/include/asm/bitsperlong.h | 1 + 7 files changed, 9 insertions(+), 1 deletion(-)