Re: [PATCH] firmware: arm_scmi: remove unnecessary 'NULL' values from pointer

From: kernel test robot
Date: Sun Sep 18 2022 - 00:35:19 EST


Hi Jingyu,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on d5538ab91d3a9a237805be6f8c6c272af2987995]

url: https://github.com/intel-lab-lkp/linux/commits/Jingyu-Wang/firmware-arm_scmi-remove-unnecessary-NULL-values-from-pointer/20220918-101734
base: d5538ab91d3a9a237805be6f8c6c272af2987995
config: riscv-randconfig-r042-20220918 (https://download.01.org/0day-ci/archive/20220918/202209181214.kSFKDUG9-lkp@xxxxxxxxx/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 791a7ae1ba3efd6bca96338e10ffde557ba83920)
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
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/intel-lab-lkp/linux/commit/7fd368bb28e43ed330ef1e678986e3ef1fbc4295
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Jingyu-Wang/firmware-arm_scmi-remove-unnecessary-NULL-values-from-pointer/20220918-101734
git checkout 7fd368bb28e43ed330ef1e678986e3ef1fbc4295
# 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=riscv SHELL=/bin/bash drivers/firmware/arm_scmi/

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

All warnings (new ones prefixed by >>):

>> drivers/firmware/arm_scmi/perf.c:762:2: warning: variable 'rep' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
default:
^~~~~~~
drivers/firmware/arm_scmi/perf.c:766:9: note: uninitialized use occurs here
return rep;
^~~
>> drivers/firmware/arm_scmi/perf.c:751:7: warning: variable 'rep' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (sizeof(*p) != payld_sz)
^~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/arm_scmi/perf.c:766:9: note: uninitialized use occurs here
return rep;
^~~
drivers/firmware/arm_scmi/perf.c:751:3: note: remove the 'if' if its condition is always false
if (sizeof(*p) != payld_sz)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/arm_scmi/perf.c:734:7: warning: variable 'rep' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (sizeof(*p) != payld_sz)
^~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/arm_scmi/perf.c:766:9: note: uninitialized use occurs here
return rep;
^~~
drivers/firmware/arm_scmi/perf.c:734:3: note: remove the 'if' if its condition is always false
if (sizeof(*p) != payld_sz)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/arm_scmi/perf.c:726:11: note: initialize the variable 'rep' to silence this warning
void *rep;
^
= NULL
3 warnings generated.


vim +/rep +762 drivers/firmware/arm_scmi/perf.c

fb5086dc474618 Cristian Marussi 2020-07-01 720
3cb8c95f4b3055 Cristian Marussi 2021-03-16 721 static void *scmi_perf_fill_custom_report(const struct scmi_protocol_handle *ph,
72a5eb9d9c319c Cristian Marussi 2020-07-10 722 u8 evt_id, ktime_t timestamp,
fb5086dc474618 Cristian Marussi 2020-07-01 723 const void *payld, size_t payld_sz,
fb5086dc474618 Cristian Marussi 2020-07-01 724 void *report, u32 *src_id)
fb5086dc474618 Cristian Marussi 2020-07-01 725 {
7fd368bb28e43e Jingyu Wang 2022-09-18 726 void *rep;
fb5086dc474618 Cristian Marussi 2020-07-01 727
fb5086dc474618 Cristian Marussi 2020-07-01 728 switch (evt_id) {
fb5086dc474618 Cristian Marussi 2020-07-01 729 case SCMI_EVENT_PERFORMANCE_LIMITS_CHANGED:
fb5086dc474618 Cristian Marussi 2020-07-01 730 {
fb5086dc474618 Cristian Marussi 2020-07-01 731 const struct scmi_perf_limits_notify_payld *p = payld;
fb5086dc474618 Cristian Marussi 2020-07-01 732 struct scmi_perf_limits_report *r = report;
fb5086dc474618 Cristian Marussi 2020-07-01 733
fb5086dc474618 Cristian Marussi 2020-07-01 734 if (sizeof(*p) != payld_sz)
fb5086dc474618 Cristian Marussi 2020-07-01 735 break;
fb5086dc474618 Cristian Marussi 2020-07-01 736
fb5086dc474618 Cristian Marussi 2020-07-01 737 r->timestamp = timestamp;
fb5086dc474618 Cristian Marussi 2020-07-01 738 r->agent_id = le32_to_cpu(p->agent_id);
fb5086dc474618 Cristian Marussi 2020-07-01 739 r->domain_id = le32_to_cpu(p->domain_id);
fb5086dc474618 Cristian Marussi 2020-07-01 740 r->range_max = le32_to_cpu(p->range_max);
fb5086dc474618 Cristian Marussi 2020-07-01 741 r->range_min = le32_to_cpu(p->range_min);
fb5086dc474618 Cristian Marussi 2020-07-01 742 *src_id = r->domain_id;
fb5086dc474618 Cristian Marussi 2020-07-01 743 rep = r;
fb5086dc474618 Cristian Marussi 2020-07-01 744 break;
fb5086dc474618 Cristian Marussi 2020-07-01 745 }
fb5086dc474618 Cristian Marussi 2020-07-01 746 case SCMI_EVENT_PERFORMANCE_LEVEL_CHANGED:
fb5086dc474618 Cristian Marussi 2020-07-01 747 {
fb5086dc474618 Cristian Marussi 2020-07-01 748 const struct scmi_perf_level_notify_payld *p = payld;
fb5086dc474618 Cristian Marussi 2020-07-01 749 struct scmi_perf_level_report *r = report;
fb5086dc474618 Cristian Marussi 2020-07-01 750
fb5086dc474618 Cristian Marussi 2020-07-01 @751 if (sizeof(*p) != payld_sz)
fb5086dc474618 Cristian Marussi 2020-07-01 752 break;
fb5086dc474618 Cristian Marussi 2020-07-01 753
fb5086dc474618 Cristian Marussi 2020-07-01 754 r->timestamp = timestamp;
fb5086dc474618 Cristian Marussi 2020-07-01 755 r->agent_id = le32_to_cpu(p->agent_id);
fb5086dc474618 Cristian Marussi 2020-07-01 756 r->domain_id = le32_to_cpu(p->domain_id);
fb5086dc474618 Cristian Marussi 2020-07-01 757 r->performance_level = le32_to_cpu(p->performance_level);
fb5086dc474618 Cristian Marussi 2020-07-01 758 *src_id = r->domain_id;
fb5086dc474618 Cristian Marussi 2020-07-01 759 rep = r;
fb5086dc474618 Cristian Marussi 2020-07-01 760 break;
fb5086dc474618 Cristian Marussi 2020-07-01 761 }
fb5086dc474618 Cristian Marussi 2020-07-01 @762 default:
fb5086dc474618 Cristian Marussi 2020-07-01 763 break;
fb5086dc474618 Cristian Marussi 2020-07-01 764 }
fb5086dc474618 Cristian Marussi 2020-07-01 765
fb5086dc474618 Cristian Marussi 2020-07-01 766 return rep;
fb5086dc474618 Cristian Marussi 2020-07-01 767 }
fb5086dc474618 Cristian Marussi 2020-07-01 768

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