arch/x86/kernel/paravirt.c:337:4: warning: cast from 'void (*)(struct mmu_gather *, struct page *)' to 'void (*)(struct mmu_gather *, void *)' converts to incompatible function type

From: kernel test robot
Date: Tue Jul 25 2023 - 15:58:21 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: af2e19389c2c1d8a299e04c5105b180ef0c5b5b5
commit: 552a23a0e5d0a84cecd4687043d8030673981d30 Makefile: Enable -Wcast-function-type
date: 1 year, 8 months ago
config: x86_64-randconfig-r003-20230725 (https://download.01.org/0day-ci/archive/20230726/202307260332.pJntWR6o-lkp@xxxxxxxxx/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce: (https://download.01.org/0day-ci/archive/20230726/202307260332.pJntWR6o-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307260332.pJntWR6o-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

arch/x86/kernel/paravirt.c:107:13: warning: no previous prototype for function 'native_pv_lock_init' [-Wmissing-prototypes]
void __init native_pv_lock_init(void)
^
arch/x86/kernel/paravirt.c:107:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init native_pv_lock_init(void)
^
static
>> arch/x86/kernel/paravirt.c:337:4: warning: cast from 'void (*)(struct mmu_gather *, struct page *)' to 'void (*)(struct mmu_gather *, void *)' converts to incompatible function type [-Wcast-function-type-strict]
(void (*)(struct mmu_gather *, void *))tlb_remove_page,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.


vim +337 arch/x86/kernel/paravirt.c

5c83511bdb9832 Juergen Gross 2018-08-28 330
5c83511bdb9832 Juergen Gross 2018-08-28 331 /* Mmu ops. */
2faf153bb7346b Thomas Gleixner 2020-04-21 332 .mmu.flush_tlb_user = native_flush_tlb_local,
5c83511bdb9832 Juergen Gross 2018-08-28 333 .mmu.flush_tlb_kernel = native_flush_tlb_global,
5c83511bdb9832 Juergen Gross 2018-08-28 334 .mmu.flush_tlb_one_user = native_flush_tlb_one_user,
4ce94eabac16b1 Nadav Amit 2021-02-20 335 .mmu.flush_tlb_multi = native_flush_tlb_multi,
5c83511bdb9832 Juergen Gross 2018-08-28 336 .mmu.tlb_remove_table =
5c83511bdb9832 Juergen Gross 2018-08-28 @337 (void (*)(struct mmu_gather *, void *))tlb_remove_page,
5c83511bdb9832 Juergen Gross 2018-08-28 338
fdc0269e8958a1 Juergen Gross 2018-08-28 339 .mmu.exit_mmap = paravirt_nop,
064ce6c550a063 Brijesh Singh 2021-08-24 340 .mmu.notify_page_enc_status_changed = paravirt_nop,
fdc0269e8958a1 Juergen Gross 2018-08-28 341

:::::: The code at line 337 was first introduced by commit
:::::: 5c83511bdb9832c86be20fb86b783356e2f58062 x86/paravirt: Use a single ops structure

:::::: TO: Juergen Gross <jgross@xxxxxxxx>
:::::: CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki