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:   Fri, 22 Jul 2022 14:07:14 +0800
From:   kernel test robot <lkp@...el.com>
To:     Maximilian Luz <luzmaximilian@...il.com>
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org, Steev Klimaszewski <steev@...i.org>
Subject: [steev:linux-5.19.0-rc7+thinkpad-x13s 117/122]
 drivers/firmware/qcom_scm.c:176: warning: expecting prototype for
 qcom_scm_call(). Prototype was for __qcom_scm_call() instead

tree:   https://github.com/steev/linux linux-5.19.0-rc7+thinkpad-x13s
head:   5c9f7a9316d17912ed92e6d6b6b1f89561270896
commit: 67a79524f0074c3a9abd9c489521ff0647b72192 [117/122] firmware: qcom_scm: Export SCM call functions
config: hexagon-randconfig-r023-20220721 (https://download.01.org/0day-ci/archive/20220722/202207221331.FOo1C9qW-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 72686d68c137551cce816416190a18d45b4d4e2a)
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/steev/linux/commit/67a79524f0074c3a9abd9c489521ff0647b72192
        git remote add steev https://github.com/steev/linux
        git fetch --no-tags steev linux-5.19.0-rc7+thinkpad-x13s
        git checkout 67a79524f0074c3a9abd9c489521ff0647b72192
        # 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=hexagon SHELL=/bin/bash drivers/firmware/

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

All warnings (new ones prefixed by >>):

>> drivers/firmware/qcom_scm.c:176: warning: expecting prototype for qcom_scm_call(). Prototype was for __qcom_scm_call() instead
>> drivers/firmware/qcom_scm.c:211: warning: expecting prototype for qcom_scm_call_atomic(). Prototype was for __qcom_scm_call_atomic() instead


vim +176 drivers/firmware/qcom_scm.c

9a434cee773ae1 Elliot Berman  2020-01-07  164  
9a434cee773ae1 Elliot Berman  2020-01-07  165  /**
9a434cee773ae1 Elliot Berman  2020-01-07  166   * qcom_scm_call() - Invoke a syscall in the secure world
9a434cee773ae1 Elliot Berman  2020-01-07  167   * @dev:	device
9a434cee773ae1 Elliot Berman  2020-01-07  168   * @desc:	Descriptor structure containing arguments and return values
a5d32f6d2e59a6 Yang Li        2021-12-30  169   * @res:        Structure containing results from SMC/HVC call
9a434cee773ae1 Elliot Berman  2020-01-07  170   *
9a434cee773ae1 Elliot Berman  2020-01-07  171   * Sends a command to the SCM and waits for the command to finish processing.
9a434cee773ae1 Elliot Berman  2020-01-07  172   * This should *only* be called in pre-emptible context.
9a434cee773ae1 Elliot Berman  2020-01-07  173   */
67a79524f0074c Maximilian Luz 2022-07-19  174  static int __qcom_scm_call(struct device *dev, const struct qcom_scm_desc *desc,
9a434cee773ae1 Elliot Berman  2020-01-07  175  			   struct qcom_scm_res *res)
9a434cee773ae1 Elliot Berman  2020-01-07 @176  {
9a434cee773ae1 Elliot Berman  2020-01-07  177  	might_sleep();
9a434cee773ae1 Elliot Berman  2020-01-07  178  	switch (__get_convention()) {
9a434cee773ae1 Elliot Berman  2020-01-07  179  	case SMC_CONVENTION_ARM_32:
9a434cee773ae1 Elliot Berman  2020-01-07  180  	case SMC_CONVENTION_ARM_64:
9a434cee773ae1 Elliot Berman  2020-01-07  181  		return scm_smc_call(dev, desc, res, false);
9a434cee773ae1 Elliot Berman  2020-01-07  182  	case SMC_CONVENTION_LEGACY:
9a434cee773ae1 Elliot Berman  2020-01-07  183  		return scm_legacy_call(dev, desc, res);
9a434cee773ae1 Elliot Berman  2020-01-07  184  	default:
9a434cee773ae1 Elliot Berman  2020-01-07  185  		pr_err("Unknown current SCM calling convention.\n");
9a434cee773ae1 Elliot Berman  2020-01-07  186  		return -EINVAL;
9a434cee773ae1 Elliot Berman  2020-01-07  187  	}
9a434cee773ae1 Elliot Berman  2020-01-07  188  }
9a434cee773ae1 Elliot Berman  2020-01-07  189  
67a79524f0074c Maximilian Luz 2022-07-19  190  int qcom_scm_call(const struct qcom_scm_desc *desc, struct qcom_scm_res *res)
67a79524f0074c Maximilian Luz 2022-07-19  191  {
67a79524f0074c Maximilian Luz 2022-07-19  192  	if (!__scm)
67a79524f0074c Maximilian Luz 2022-07-19  193  		return -ENODEV;
67a79524f0074c Maximilian Luz 2022-07-19  194  
67a79524f0074c Maximilian Luz 2022-07-19  195  	return __qcom_scm_call(__scm->dev, desc, res);
67a79524f0074c Maximilian Luz 2022-07-19  196  }
67a79524f0074c Maximilian Luz 2022-07-19  197  EXPORT_SYMBOL_GPL(qcom_scm_call);
67a79524f0074c Maximilian Luz 2022-07-19  198  
9a434cee773ae1 Elliot Berman  2020-01-07  199  /**
9a434cee773ae1 Elliot Berman  2020-01-07  200   * qcom_scm_call_atomic() - atomic variation of qcom_scm_call()
9a434cee773ae1 Elliot Berman  2020-01-07  201   * @dev:	device
9a434cee773ae1 Elliot Berman  2020-01-07  202   * @desc:	Descriptor structure containing arguments and return values
9a434cee773ae1 Elliot Berman  2020-01-07  203   * @res:	Structure containing results from SMC/HVC call
9a434cee773ae1 Elliot Berman  2020-01-07  204   *
9a434cee773ae1 Elliot Berman  2020-01-07  205   * Sends a command to the SCM and waits for the command to finish processing.
9a434cee773ae1 Elliot Berman  2020-01-07  206   * This can be called in atomic context.
9a434cee773ae1 Elliot Berman  2020-01-07  207   */
67a79524f0074c Maximilian Luz 2022-07-19  208  static int __qcom_scm_call_atomic(struct device *dev,
9a434cee773ae1 Elliot Berman  2020-01-07  209  				  const struct qcom_scm_desc *desc,
9a434cee773ae1 Elliot Berman  2020-01-07  210  				  struct qcom_scm_res *res)
9a434cee773ae1 Elliot Berman  2020-01-07 @211  {
9a434cee773ae1 Elliot Berman  2020-01-07  212  	switch (__get_convention()) {
9a434cee773ae1 Elliot Berman  2020-01-07  213  	case SMC_CONVENTION_ARM_32:
9a434cee773ae1 Elliot Berman  2020-01-07  214  	case SMC_CONVENTION_ARM_64:
9a434cee773ae1 Elliot Berman  2020-01-07  215  		return scm_smc_call(dev, desc, res, true);
9a434cee773ae1 Elliot Berman  2020-01-07  216  	case SMC_CONVENTION_LEGACY:
9a434cee773ae1 Elliot Berman  2020-01-07  217  		return scm_legacy_call_atomic(dev, desc, res);
9a434cee773ae1 Elliot Berman  2020-01-07  218  	default:
9a434cee773ae1 Elliot Berman  2020-01-07  219  		pr_err("Unknown current SCM calling convention.\n");
9a434cee773ae1 Elliot Berman  2020-01-07  220  		return -EINVAL;
9a434cee773ae1 Elliot Berman  2020-01-07  221  	}
9a434cee773ae1 Elliot Berman  2020-01-07  222  }
9a434cee773ae1 Elliot Berman  2020-01-07  223  

:::::: The code at line 176 was first introduced by commit
:::::: 9a434cee773ae15309ac225f27551b5492618e4a firmware: qcom_scm: Dynamically support SMCCC and legacy conventions

:::::: TO: Elliot Berman <eberman@...eaurora.org>
:::::: CC: Bjorn Andersson <bjorn.andersson@...aro.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ