arch/powerpc/kernel/switch.S:170: Error: operand out of range (0xfe10 is not between 0xffffffffffff8000 and 0x7fff)

kernel test robot
2023-12-31T03:28:39Z

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 453f5db0619e2ad64076aab16ff5a00e0f7c53a2
commit: afc6386815a88d067d9f567dcc6266800286f626 powerpc: merge 32-bit and 64-bit _switch implementation
date: 7 months ago
config: powerpc64-randconfig-r052-20231226 (https://download.01.org/0day-ci/archive/20231231/202312311135.Nh024ziD-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231231/202312311135.Nh024ziD-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312311135.Nh024ziD-lkp@intel.com/

All errors (new ones prefixed by >>):

arch/powerpc/kernel/switch.S: Assembler messages:
>> arch/powerpc/kernel/switch.S:170: Error: operand out of range (0xfe10 is not between 0xffffffffffff8000 and 0x7fff)
arch/powerpc/kernel/switch.S:249: Info: macro invoked from here

vim +170 arch/powerpc/kernel/switch.S

151
152 .macro do_switch_64
153 ld r8,KSP(r4) /* Load new stack pointer */
154
155 kuap_check_amr r9, r10
156
157 FLUSH_COUNT_CACHE /* Clobbers r9, ctr */
158
159 STOP_STREAMS /* Clobbers r6 */
160
161 addi r3,r3,-THREAD /* old thread -> task_struct for return value */
162 addi r6,r4,-THREAD /* new thread -> task_struct */
163 std r6,PACACURRENT(r13) /* Set new task_struct to 'current' */
164 #if defined(CONFIG_STACKPROTECTOR)
165 ld r6, TASK_CANARY(r6)
166 std r6, PACA_CANARY(r13)
167 #endif
168 /* Set new PACAKSAVE */
169 clrrdi r7,r8,THREAD_SHIFT /* base of new stack */
> 170 addi r7,r7,THREAD_SIZE-SWITCH_FRAME_SIZE
171 std r7,PACAKSAVE(r13)
172

--
0-DAY CI Kernel Test Service