lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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, &param_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

Powered by Openwall GNU/*/Linux Powered by OpenVZ