Messages in this thread Patch in this message | | | From | Dan Williams <> | Date | Wed, 9 Jun 2021 16:43:25 -0700 | Subject | Re: arch/x86/lib/copy_mc.c:30:1: warning: no previous prototype for 'copy_mc_fragile_handle_tail' |
| |
On Wed, Jun 9, 2021 at 3:43 PM kernel test robot <lkp@intel.com> wrote: > > Hi Dan, > > FYI, the error/warning still remains. > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > head: 368094df48e680fa51cedb68537408cfa64b788e > commit: ec6347bb43395cb92126788a1a5b25302543f815 x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() > date: 8 months ago > config: x86_64-randconfig-r025-20210610 (attached as .config) > compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 > reproduce (this is a W=1 build): > # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ec6347bb43395cb92126788a1a5b25302543f815 > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > git fetch --no-tags linus master > git checkout ec6347bb43395cb92126788a1a5b25302543f815 > # save the attached .config to linux build tree > make W=1 ARCH=x86_64 > > 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 >>): > > >> arch/x86/lib/copy_mc.c:30:1: warning: no previous prototype for 'copy_mc_fragile_handle_tail' [-Wmissing-prototypes] > 30 | copy_mc_fragile_handle_tail(char *to, char *from, unsigned len) > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
This routine is only ever called from ASM code, so the fact that there is no C declaration is expected.
For W=1 builds we could do something like this:
diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile index bad4dee4f0e4..b87f40cbc3d5 100644 --- a/arch/x86/lib/Makefile +++ b/arch/x86/lib/Makefile @@ -44,6 +44,7 @@ obj-$(CONFIG_SMP) += msr-smp.o cache-smp.o lib-y := delay.o misc.o cmdline.o cpu.o lib-y += usercopy_$(BITS).o usercopy.o getuser.o putuser.o lib-y += memcpy_$(BITS).o +CFLAGS_copy_mc.o = -Wno-strict-prototypes lib-$(CONFIG_ARCH_HAS_COPY_MC) += copy_mc.o copy_mc_64.o lib-$(CONFIG_INSTRUCTION_DECODER) += insn.o inat.o insn-eval.o lib-$(CONFIG_RANDOMIZE_BASE) += kaslr.o ...but I don't like it nor adding a dummy declaration.
| |