On Tue, Jul 26, 2022 at 06:14:55PM +0200, José Expósito wrote: > On Tue, Jul 26, 2022 at 08:48:29AM -0700, Nathan Chancellor wrote: > > On Tue, Jul 26, 2022 at 10:33:25AM +0800, kernel test robot wrote: > > > Hi "José, > > > > > > Thank you for the patch! Yet something to improve: > > > > > > [auto build test ERROR on 0cb1fc0988e32bda84c2b7218e0c761af1430baf] > > > > > > url: https://github.com/intel-lab-lkp/linux/commits/Jos-Exp-sito/XP-PEN-Deco-Pro-S-support-for-5-20-uclogic/20220717-224559 > > > base: 0cb1fc0988e32bda84c2b7218e0c761af1430baf > > > config: x86_64-buildonly-randconfig-r002-20220718 (https://download.01.org/0day-ci/archive/20220726/202207261047.hUEFf74G-lkp@xxxxxxxxx/config) > > > compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project fa0c7639e91fa1cd0cf2ff0445a1634a90fe850a) > > > 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/10fcf5d5cca4657c53477c392b1fb675d72cfda3 > > > git remote add linux-review https://github.com/intel-lab-lkp/linux > > > git fetch --no-tags linux-review Jos-Exp-sito/XP-PEN-Deco-Pro-S-support-for-5-20-uclogic/20220717-224559 > > > git checkout 10fcf5d5cca4657c53477c392b1fb675d72cfda3 > > > # save the config file > > > mkdir build_dir && cp config build_dir/.config > > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash > > > > > > If you fix the issue, kindly add following tag where applicable > > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > > > > > All errors (new ones prefixed by >>): > > > > > > >> ld.lld: error: call to __read_overflow marked "dontcall-error": detected read beyond size of object (1st parameter) > > > > Unfortunately, LTO makes this warning kind of cryptic but it seems like > > the wrong template size is being used? This appears to resolve the > > warning for me. > > > > Cheers, > > Nathan > > > > diff --git a/drivers/hid/hid-uclogic-params.c b/drivers/hid/hid-uclogic-params.c > > index 2407e927d1bf..dd4b1ed6fd1e 100644 > > --- a/drivers/hid/hid-uclogic-params.c > > +++ b/drivers/hid/hid-uclogic-params.c > > @@ -1205,7 +1205,7 @@ static int uclogic_params_ugee_v2_init_frame_mouse(struct uclogic_params *p) > > > > rc = uclogic_params_frame_init_with_desc(&p->frame_list[1], > > uclogic_rdesc_ugee_v2_frame_mouse_template_arr, > > - uclogic_rdesc_ugee_v2_frame_dial_template_size, > > + uclogic_rdesc_ugee_v2_frame_mouse_template_size, > > UCLOGIC_RDESC_V1_FRAME_ID); > > if (rc) > > return rc; > > Hi Nathan, > > Yes, I was about to send v3 fixing it. As you mentioned, I copy-pasted > the wrong template size. Good to know! At least we caught it early :) > I really need to learn how to enable those warnings in my dev > environment. My toolchain didn't complain about this. CONFIG_FORTIFY_SOURCE will be the configuration that can catch these issues but I did not see a warning from clang without LTO, so it is likely the case that LTO helped the compiler see through translation units that the size was not correct. > Thanks for pointing me to LTO. I didn't know about the CONFIG_LTO_* > options, I'll play a bit with them. If you have any questions about it, feel free to reach out to our mailing list (llvm@xxxxxxxxxxxxxxx), we're always happy to help! > Thanks a lot for looking into this, > Jose Any time! Cheers, Nathan