Messages in this thread | | | Date | Sat, 28 May 2022 06:49:01 +0800 | From | kernel test robot <> | Subject | arch/arm64/kernel/fpsimd.c:1944:55: sparse: sparse: dereference of noderef expression |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 8291eaafed36f575f23951f3ce18407f480e9ecf commit: e0838f6373e5cb72516fc4c26bba309097e2a80a arm64/sme: Save and restore streaming mode over EFI runtime calls date: 5 weeks ago config: arm64-randconfig-s032-20220527 (https://download.01.org/0day-ci/archive/20220528/202205280635.XKlMkfKD-lkp@intel.com/config) compiler: aarch64-linux-gcc (GCC) 11.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-14-g5a0004b5-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e0838f6373e5cb72516fc4c26bba309097e2a80a git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout e0838f6373e5cb72516fc4c26bba309097e2a80a # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/kernel/
If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>) >> arch/arm64/kernel/fpsimd.c:1944:55: sparse: sparse: dereference of noderef expression
vim +1944 arch/arm64/kernel/fpsimd.c
1916 1917 /* 1918 * __efi_fpsimd_end(): clean up FPSIMD after an EFI runtime services call 1919 */ 1920 void __efi_fpsimd_end(void) 1921 { 1922 if (!system_supports_fpsimd()) 1923 return; 1924 1925 if (!__this_cpu_xchg(efi_fpsimd_state_used, false)) { 1926 kernel_neon_end(); 1927 } else { 1928 if (system_supports_sve() && 1929 likely(__this_cpu_read(efi_sve_state_used))) { 1930 char const *sve_state = this_cpu_ptr(efi_sve_state); 1931 bool ffr = true; 1932 1933 /* 1934 * Restore streaming mode; EFI calls are 1935 * normal function calls so should not return in 1936 * streaming mode. 1937 */ 1938 if (system_supports_sme()) { 1939 if (__this_cpu_read(efi_sm_state)) { 1940 sysreg_clear_set_s(SYS_SVCR_EL0, 1941 0, 1942 SYS_SVCR_EL0_SM_MASK); 1943 if (!system_supports_fa64()) > 1944 ffr = efi_sm_state; 1945 } 1946 } 1947 1948 sve_load_state(sve_state + sve_ffr_offset(sve_max_vl()), 1949 &this_cpu_ptr(&efi_fpsimd_state)->fpsr, 1950 ffr); 1951 1952 __this_cpu_write(efi_sve_state_used, false); 1953 } else { 1954 fpsimd_load_state(this_cpu_ptr(&efi_fpsimd_state)); 1955 } 1956 } 1957 } 1958
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |