Le 12/02/2022 à 19:17, kernel test robot a écrit :
> Hi Christophe,
>
> I love your patch! Yet something to improve:
>
> [auto build test ERROR on linux/master]
> [also build test ERROR on linus/master v5.17-rc3]
> [cannot apply to hnaz-mm/master next-20220211]
> [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/0day-ci/linux/commits/Christophe-Leroy/mm-Uninline-cop...
> base:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
2c271fe77d52a0555161926c232cd5bc07178b39
> config: i386-allyesconfig
(
https://download.01.org/0day-ci/archive/20220213/202202130121.dZLDqfpe-lk...)
> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
> reproduce (this is a W=1 build):
> #
https://github.com/0day-ci/linux/commit/cf4474ac62f0332bd9d39f9dd74dbb5af...
> git remote add linux-review
https://github.com/0day-ci/linux
> git fetch --no-tags linux-review
Christophe-Leroy/mm-Uninline-copy_overflow/20220212-155040
> git checkout cf4474ac62f0332bd9d39f9dd74dbb5afce9a7a4
> # save the config file to linux build tree
> mkdir build_dir
> make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp(a)intel.com>
>
> All errors (new ones prefixed by >>):
>
> In file included from arch/x86/include/asm/preempt.h:7,
> from include/linux/preempt.h:78,
> from include/linux/percpu.h:6,
> from include/linux/context_tracking_state.h:5,
> from include/linux/hardirq.h:5,
> from drivers/net/ethernet/mellanox/mlx4/cq.c:37:
> In function 'check_copy_size',
> inlined from 'copy_to_user' at include/linux/uaccess.h:199:6,
> inlined from 'mlx4_init_user_cqes' at
drivers/net/ethernet/mellanox/mlx4/cq.c:317:9,
> inlined from 'mlx4_cq_alloc' at
drivers/net/ethernet/mellanox/mlx4/cq.c:394:10:
>>> include/linux/thread_info.h:228:4: error: call to '__bad_copy_from'
declared with attribute error: copy source size is too small
> 228 | __bad_copy_from();
> | ^~~~~~~~~~~~~~~~~
>
This looks like a bug in GCC 9.x
You get the exact same result without my patch when unselecting CONFIG_BUG
You don't get the problem with gcc 8.5
You don't get the problem with gcc 10.3
My patch itself doesn't explain getting this error.
Thanks for the detailed explanation, we'll add the error to ignore list.
Best Regards,
Rong Chen