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>] [day] [month] [year] [list]
Date:   Thu, 10 Feb 2022 02:44:34 +0800
From:   kernel test robot <lkp@...el.com>
To:     Ard Biesheuvel <ardb@...nel.org>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: [ardb:efi-psci 2/3] include/linux/efi.h:1190:9: error: implicit
 declaration of function 'arch_efi_call_virt_setup'

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git efi-psci
head:   bd0da69cbeaed7490a6f8e3df789fe72645cd37f
commit: 2f97f24371a482f0273be1de7164eb59cd427cf9 [2/3] efi: arm: implement PSCI method backed by EFI runtime code
config: arm-allyesconfig (https://download.01.org/0day-ci/archive/20220210/202202100235.AZGXkf7b-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
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://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/commit/?id=2f97f24371a482f0273be1de7164eb59cd427cf9
        git remote add ardb git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git
        git fetch --no-tags ardb efi-psci
        git checkout 2f97f24371a482f0273be1de7164eb59cd427cf9
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   In file included from drivers/firmware/psci/psci.c:12:
   drivers/firmware/psci/psci.c: In function '__invoke_psci_fn_efi':
>> include/linux/efi.h:1190:9: error: implicit declaration of function 'arch_efi_call_virt_setup' [-Werror=implicit-function-declaration]
    1190 |         arch_efi_call_virt_setup();                                     \
         |         ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/firmware/psci/psci.c:139:16: note: in expansion of macro 'efi_call_virt_pointer'
     139 |         return efi_call_virt_pointer((&efi_psci), psci_handler, function_id,
         |                ^~~~~~~~~~~~~~~~~~~~~
>> include/linux/efi.h:1193:15: error: implicit declaration of function 'arch_efi_call_virt' [-Werror=implicit-function-declaration]
    1193 |         __s = arch_efi_call_virt(p, f, args);                           \
         |               ^~~~~~~~~~~~~~~~~~
   drivers/firmware/psci/psci.c:139:16: note: in expansion of macro 'efi_call_virt_pointer'
     139 |         return efi_call_virt_pointer((&efi_psci), psci_handler, function_id,
         |                ^~~~~~~~~~~~~~~~~~~~~
>> drivers/firmware/psci/psci.c:139:51: error: 'psci_handler' undeclared (first use in this function); did you mean 'proc_handler'?
     139 |         return efi_call_virt_pointer((&efi_psci), psci_handler, function_id,
         |                                                   ^~~~~~~~~~~~
   include/linux/efi.h:1193:37: note: in definition of macro 'efi_call_virt_pointer'
    1193 |         __s = arch_efi_call_virt(p, f, args);                           \
         |                                     ^
   drivers/firmware/psci/psci.c:139:51: note: each undeclared identifier is reported only once for each function it appears in
     139 |         return efi_call_virt_pointer((&efi_psci), psci_handler, function_id,
         |                                                   ^~~~~~~~~~~~
   include/linux/efi.h:1193:37: note: in definition of macro 'efi_call_virt_pointer'
    1193 |         __s = arch_efi_call_virt(p, f, args);                           \
         |                                     ^
>> include/linux/efi.h:1196:9: error: implicit declaration of function 'arch_efi_call_virt_teardown' [-Werror=implicit-function-declaration]
    1196 |         arch_efi_call_virt_teardown();                                  \
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/firmware/psci/psci.c:139:16: note: in expansion of macro 'efi_call_virt_pointer'
     139 |         return efi_call_virt_pointer((&efi_psci), psci_handler, function_id,
         |                ^~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/arch_efi_call_virt_setup +1190 include/linux/efi.h

0d95981438c3bdb Dominik Brodowski 2019-11-06  1164  
80e75596079f0a4 Alex Thorlton     2016-06-25  1165  /*
80e75596079f0a4 Alex Thorlton     2016-06-25  1166   * Arch code can implement the following three template macros, avoiding
80e75596079f0a4 Alex Thorlton     2016-06-25  1167   * reptition for the void/non-void return cases of {__,}efi_call_virt():
80e75596079f0a4 Alex Thorlton     2016-06-25  1168   *
80e75596079f0a4 Alex Thorlton     2016-06-25  1169   *  * arch_efi_call_virt_setup()
80e75596079f0a4 Alex Thorlton     2016-06-25  1170   *
80e75596079f0a4 Alex Thorlton     2016-06-25  1171   *    Sets up the environment for the call (e.g. switching page tables,
80e75596079f0a4 Alex Thorlton     2016-06-25  1172   *    allowing kernel-mode use of floating point, if required).
80e75596079f0a4 Alex Thorlton     2016-06-25  1173   *
80e75596079f0a4 Alex Thorlton     2016-06-25  1174   *  * arch_efi_call_virt()
80e75596079f0a4 Alex Thorlton     2016-06-25  1175   *
80e75596079f0a4 Alex Thorlton     2016-06-25  1176   *    Performs the call. The last expression in the macro must be the call
80e75596079f0a4 Alex Thorlton     2016-06-25  1177   *    itself, allowing the logic to be shared by the void and non-void
80e75596079f0a4 Alex Thorlton     2016-06-25  1178   *    cases.
80e75596079f0a4 Alex Thorlton     2016-06-25  1179   *
80e75596079f0a4 Alex Thorlton     2016-06-25  1180   *  * arch_efi_call_virt_teardown()
80e75596079f0a4 Alex Thorlton     2016-06-25  1181   *
80e75596079f0a4 Alex Thorlton     2016-06-25  1182   *    Restores the usual kernel environment once the call has returned.
80e75596079f0a4 Alex Thorlton     2016-06-25  1183   */
80e75596079f0a4 Alex Thorlton     2016-06-25  1184  
80e75596079f0a4 Alex Thorlton     2016-06-25  1185  #define efi_call_virt_pointer(p, f, args...)				\
80e75596079f0a4 Alex Thorlton     2016-06-25  1186  ({									\
80e75596079f0a4 Alex Thorlton     2016-06-25  1187  	efi_status_t __s;						\
80e75596079f0a4 Alex Thorlton     2016-06-25  1188  	unsigned long __flags;						\
80e75596079f0a4 Alex Thorlton     2016-06-25  1189  									\
80e75596079f0a4 Alex Thorlton     2016-06-25 @1190  	arch_efi_call_virt_setup();					\
80e75596079f0a4 Alex Thorlton     2016-06-25  1191  									\
13b210ddf474d9f Julien Thierry    2019-01-31  1192  	__flags = efi_call_virt_save_flags();				\
80e75596079f0a4 Alex Thorlton     2016-06-25 @1193  	__s = arch_efi_call_virt(p, f, args);				\
80e75596079f0a4 Alex Thorlton     2016-06-25  1194  	efi_call_virt_check_flags(__flags, __stringify(f));		\
80e75596079f0a4 Alex Thorlton     2016-06-25  1195  									\
80e75596079f0a4 Alex Thorlton     2016-06-25 @1196  	arch_efi_call_virt_teardown();					\
80e75596079f0a4 Alex Thorlton     2016-06-25  1197  									\
80e75596079f0a4 Alex Thorlton     2016-06-25  1198  	__s;								\
80e75596079f0a4 Alex Thorlton     2016-06-25  1199  })
80e75596079f0a4 Alex Thorlton     2016-06-25  1200  

:::::: The code at line 1190 was first introduced by commit
:::::: 80e75596079f0a41f905836ad0ccaac68ba33612 efi: Convert efi_call_virt() to efi_call_virt_pointer()

:::::: TO: Alex Thorlton <athorlton@....com>
:::::: CC: Ingo Molnar <mingo@...nel.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ