Hi Nicholas, [FYI, it's a private test report for your RFC patch.] [auto build test WARNING on powerpc/next] [also build test WARNING on linus/master scottwood/next v5.7-rc3] [cannot apply to next-20200501] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Nicholas-Piggin/OPAL-V4/20200502-195816 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc-allyesconfig (attached as .config) compiler: powerpc64-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot All warnings (new ones prefixed by >>): arch/powerpc/platforms/powernv/opal-call.c: In function 'opal_call': >> arch/powerpc/platforms/powernv/opal-call.c:119:5: warning: 'fn' is used uninitialized in this function [-Wuninitialized] 119 | if (fn) { | ^ vim +/fn +119 arch/powerpc/platforms/powernv/opal-call.c 102 103 typedef int64_t (*opal_v4_le_entry_fn)(uint64_t r3, uint64_t r4, uint64_t r5, 104 uint64_t r6, uint64_t r7, uint64_t r8, 105 uint64_t r9, uint64_t r10); 106 107 static int64_t opal_call(int64_t a0, int64_t a1, int64_t a2, int64_t a3, 108 int64_t a4, int64_t a5, int64_t a6, int64_t a7, int64_t opcode) 109 { 110 unsigned long flags; 111 unsigned long msr = mfmsr(); 112 bool mmu = (msr & (MSR_IR|MSR_DR)); 113 int64_t ret; 114 opal_v4_le_entry_fn fn; 115 116 if (IS_ENABLED(CONFIG_CPU_LITTLE_ENDIAN)) 117 fn = (opal_v4_le_entry_fn)(opal.v4_le_entry); 118 > 119 if (fn) { 120 if (!mmu) { 121 BUG_ON(msr & MSR_EE); 122 ret = fn(opcode, a0, a1, a2, a3, a4, a5, a6); 123 return ret; 124 } 125 126 local_irq_save(flags); 127 hard_irq_disable(); /* XXX r13 */ 128 msr &= ~MSR_EE; 129 mtmsr(msr & ~(MSR_IR|MSR_DR)); 130 131 ret = fn(opcode, a0, a1, a2, a3, a4, a5, a6); 132 133 mtmsr(msr); 134 local_irq_restore(flags); 135 136 return ret; 137 } 138 139 msr &= ~MSR_EE; 140 141 if (unlikely(!mmu)) 142 return __opal_call(a0, a1, a2, a3, a4, a5, a6, a7, opcode, msr); 143 144 local_save_flags(flags); 145 hard_irq_disable(); 146 147 if (DO_TRACE) { 148 ret = __opal_call_trace(a0, a1, a2, a3, a4, a5, a6, a7, opcode, msr); 149 } else { 150 ret = __opal_call(a0, a1, a2, a3, a4, a5, a6, a7, opcode, msr); 151 } 152 153 local_irq_restore(flags); 154 155 return ret; 156 } 157 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org