[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202210130452.GoNhG6fG-lkp@intel.com>
Date: Thu, 13 Oct 2022 04:30:05 +0800
From: kernel test robot <lkp@...el.com>
To: Saurabh Sengar <ssengar@...ux.microsoft.com>,
ssengar@...rosoft.com, kys@...rosoft.com, haiyangz@...rosoft.com,
sthemmin@...rosoft.com, wei.liu@...nel.org, decui@...rosoft.com,
longli@...rosoft.com, gregkh@...uxfoundation.org,
linux-hyperv@...r.kernel.org, linux-kernel@...r.kernel.org,
mikelley@...rosoft.com
Cc: kbuild-all@...ts.01.org
Subject: Re: [PATCH] uio_hv_generic: Enable support for slower vmbus device
channels
Hi Saurabh,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on char-misc/char-misc-testing]
[also build test ERROR on linus/master v6.0 next-20221012]
[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/Saurabh-Sengar/uio_hv_generic-Enable-support-for-slower-vmbus-device-channels/20221012-195731
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 49da070062390094112b423ba443ea193527b2e4
config: i386-randconfig-a005
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/e7d62290b320f0f50c4f09b8f869b9049ef2c2bd
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Saurabh-Sengar/uio_hv_generic-Enable-support-for-slower-vmbus-device-channels/20221012-195731
git checkout e7d62290b320f0f50c4f09b8f869b9049ef2c2bd
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
In file included from include/linux/module.h:22,
from include/linux/device/driver.h:21,
from include/linux/device.h:32,
from drivers/uio/uio_hv_generic.c:22:
drivers/uio/uio_hv_generic.c: In function '__check_recv_buf_size':
>> include/linux/moduleparam.h:150:34: error: returning 'size_t *' {aka 'unsigned int *'} from a function with incompatible return type 'long unsigned int *' [-Werror=incompatible-pointer-types]
150 | param_check_##type(name, &(value)); \
| ^
include/linux/moduleparam.h:409:75: note: in definition of macro '__param_check'
409 | static inline type __always_unused *__check_##name(void) { return(p); }
| ^
include/linux/moduleparam.h:150:9: note: in expansion of macro 'param_check_ulong'
150 | param_check_##type(name, &(value)); \
| ^~~~~~~~~~~~
include/linux/moduleparam.h:127:9: note: in expansion of macro 'module_param_named'
127 | module_param_named(name, name, type, perm)
| ^~~~~~~~~~~~~~~~~~
drivers/uio/uio_hv_generic.c:44:1: note: in expansion of macro 'module_param'
44 | module_param(recv_buf_size, ulong, 0644);
| ^~~~~~~~~~~~
drivers/uio/uio_hv_generic.c: In function '__check_send_buf_size':
>> include/linux/moduleparam.h:150:34: error: returning 'size_t *' {aka 'unsigned int *'} from a function with incompatible return type 'long unsigned int *' [-Werror=incompatible-pointer-types]
150 | param_check_##type(name, &(value)); \
| ^
include/linux/moduleparam.h:409:75: note: in definition of macro '__param_check'
409 | static inline type __always_unused *__check_##name(void) { return(p); }
| ^
include/linux/moduleparam.h:150:9: note: in expansion of macro 'param_check_ulong'
150 | param_check_##type(name, &(value)); \
| ^~~~~~~~~~~~
include/linux/moduleparam.h:127:9: note: in expansion of macro 'module_param_named'
127 | module_param_named(name, name, type, perm)
| ^~~~~~~~~~~~~~~~~~
drivers/uio/uio_hv_generic.c:48:1: note: in expansion of macro 'module_param'
48 | module_param(send_buf_size, ulong, 0644);
| ^~~~~~~~~~~~
drivers/uio/uio_hv_generic.c: In function '__check_ring_size':
>> include/linux/moduleparam.h:150:34: error: returning 'size_t *' {aka 'unsigned int *'} from a function with incompatible return type 'long unsigned int *' [-Werror=incompatible-pointer-types]
150 | param_check_##type(name, &(value)); \
| ^
include/linux/moduleparam.h:409:75: note: in definition of macro '__param_check'
409 | static inline type __always_unused *__check_##name(void) { return(p); }
| ^
include/linux/moduleparam.h:150:9: note: in expansion of macro 'param_check_ulong'
150 | param_check_##type(name, &(value)); \
| ^~~~~~~~~~~~
include/linux/moduleparam.h:127:9: note: in expansion of macro 'module_param_named'
127 | module_param_named(name, name, type, perm)
| ^~~~~~~~~~~~~~~~~~
drivers/uio/uio_hv_generic.c:52:1: note: in expansion of macro 'module_param'
52 | module_param(ring_size, ulong, 0644);
| ^~~~~~~~~~~~
In file included from include/linux/printk.h:566,
from include/linux/kernel.h:29,
from arch/x86/include/asm/percpu.h:27,
from arch/x86/include/asm/current.h:6,
from include/linux/sched.h:12,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/uio/uio_hv_generic.c:22:
drivers/uio/uio_hv_generic.c: In function 'hv_uio_probe':
drivers/uio/uio_hv_generic.c:256:31: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
256 | dev_dbg(&dev->device, "primary channel ring size = %lx", ring_size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:223:29: note: in definition of macro '__dynamic_func_call_cls'
223 | func(&id, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/dynamic_debug.h:249:9: note: in expansion of macro '_dynamic_func_call_cls'
249 | _dynamic_func_call_cls(_DPRINTK_CLASS_DFLT, fmt, func, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:272:9: note: in expansion of macro '_dynamic_func_call'
272 | _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/uio/uio_hv_generic.c:256:9: note: in expansion of macro 'dev_dbg'
256 | dev_dbg(&dev->device, "primary channel ring size = %lx", ring_size);
| ^~~~~~~
drivers/uio/uio_hv_generic.c:256:62: note: format string is defined here
256 | dev_dbg(&dev->device, "primary channel ring size = %lx", ring_size);
| ~~^
| |
| long unsigned int
| %x
cc1: some warnings being treated as errors
vim +150 include/linux/moduleparam.h
^1da177e4c3f41 Linus Torvalds 2005-04-16 100
546970bc6afc7f Rusty Russell 2010-08-11 101 /**
546970bc6afc7f Rusty Russell 2010-08-11 102 * module_param - typesafe helper for a module/cmdline parameter
e2854a1054ab17 Zhenzhong Duan 2019-11-04 103 * @name: the variable to alter, and exposed parameter name.
546970bc6afc7f Rusty Russell 2010-08-11 104 * @type: the type of the parameter
546970bc6afc7f Rusty Russell 2010-08-11 105 * @perm: visibility in sysfs.
546970bc6afc7f Rusty Russell 2010-08-11 106 *
e2854a1054ab17 Zhenzhong Duan 2019-11-04 107 * @name becomes the module parameter, or (prefixed by KBUILD_MODNAME and a
546970bc6afc7f Rusty Russell 2010-08-11 108 * ".") the kernel commandline parameter. Note that - is changed to _, so
546970bc6afc7f Rusty Russell 2010-08-11 109 * the user can use "foo-bar=1" even for variable "foo_bar".
546970bc6afc7f Rusty Russell 2010-08-11 110 *
c6a8b84da4c28b Randy Dunlap 2020-07-17 111 * @perm is 0 if the variable is not to appear in sysfs, or 0444
546970bc6afc7f Rusty Russell 2010-08-11 112 * for world-readable, 0644 for root-writable, etc. Note that if it
b51d23e4e9fea6 Dan Streetman 2015-06-17 113 * is writable, you may need to use kernel_param_lock() around
546970bc6afc7f Rusty Russell 2010-08-11 114 * accesses (esp. charp, which can be kfreed when it changes).
546970bc6afc7f Rusty Russell 2010-08-11 115 *
546970bc6afc7f Rusty Russell 2010-08-11 116 * The @type is simply pasted to refer to a param_ops_##type and a
546970bc6afc7f Rusty Russell 2010-08-11 117 * param_check_##type: for convenience many standard types are provided but
546970bc6afc7f Rusty Russell 2010-08-11 118 * you can create your own by defining those variables.
546970bc6afc7f Rusty Russell 2010-08-11 119 *
546970bc6afc7f Rusty Russell 2010-08-11 120 * Standard types are:
7d8365771ffb0e Paul Menzel 2020-07-03 121 * byte, hexint, short, ushort, int, uint, long, ulong
546970bc6afc7f Rusty Russell 2010-08-11 122 * charp: a character pointer
546970bc6afc7f Rusty Russell 2010-08-11 123 * bool: a bool, values 0/1, y/n, Y/N.
546970bc6afc7f Rusty Russell 2010-08-11 124 * invbool: the above, only sense-reversed (N = true).
546970bc6afc7f Rusty Russell 2010-08-11 125 */
546970bc6afc7f Rusty Russell 2010-08-11 126 #define module_param(name, type, perm) \
546970bc6afc7f Rusty Russell 2010-08-11 127 module_param_named(name, name, type, perm)
546970bc6afc7f Rusty Russell 2010-08-11 128
3baee201b06cfa Jani Nikula 2014-08-27 129 /**
3baee201b06cfa Jani Nikula 2014-08-27 130 * module_param_unsafe - same as module_param but taints kernel
b6d0531ec7e2ae Fabien Dessenne 2019-12-02 131 * @name: the variable to alter, and exposed parameter name.
b6d0531ec7e2ae Fabien Dessenne 2019-12-02 132 * @type: the type of the parameter
b6d0531ec7e2ae Fabien Dessenne 2019-12-02 133 * @perm: visibility in sysfs.
3baee201b06cfa Jani Nikula 2014-08-27 134 */
3baee201b06cfa Jani Nikula 2014-08-27 135 #define module_param_unsafe(name, type, perm) \
3baee201b06cfa Jani Nikula 2014-08-27 136 module_param_named_unsafe(name, name, type, perm)
3baee201b06cfa Jani Nikula 2014-08-27 137
546970bc6afc7f Rusty Russell 2010-08-11 138 /**
546970bc6afc7f Rusty Russell 2010-08-11 139 * module_param_named - typesafe helper for a renamed module/cmdline parameter
546970bc6afc7f Rusty Russell 2010-08-11 140 * @name: a valid C identifier which is the parameter name.
546970bc6afc7f Rusty Russell 2010-08-11 141 * @value: the actual lvalue to alter.
546970bc6afc7f Rusty Russell 2010-08-11 142 * @type: the type of the parameter
546970bc6afc7f Rusty Russell 2010-08-11 143 * @perm: visibility in sysfs.
546970bc6afc7f Rusty Russell 2010-08-11 144 *
546970bc6afc7f Rusty Russell 2010-08-11 145 * Usually it's a good idea to have variable names and user-exposed names the
546970bc6afc7f Rusty Russell 2010-08-11 146 * same, but that's harder if the variable must be non-static or is inside a
546970bc6afc7f Rusty Russell 2010-08-11 147 * structure. This allows exposure under a different name.
546970bc6afc7f Rusty Russell 2010-08-11 148 */
546970bc6afc7f Rusty Russell 2010-08-11 149 #define module_param_named(name, value, type, perm) \
546970bc6afc7f Rusty Russell 2010-08-11 @150 param_check_##type(name, &(value)); \
546970bc6afc7f Rusty Russell 2010-08-11 151 module_param_cb(name, ¶m_ops_##type, &value, perm); \
546970bc6afc7f Rusty Russell 2010-08-11 152 __MODULE_PARM_TYPE(name, #type)
546970bc6afc7f Rusty Russell 2010-08-11 153
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (154797 bytes)
Powered by blists - more mailing lists