Hi Gustavo, Thank you for the patch! Yet something to improve: [auto build test ERROR on powerpc/next] [also build test ERROR on scottwood/next v5.5-rc7 next-20200120] [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/Gustavo-Luiz-Duarte/powerpc-tm-Clear-the-current-thread-s-MSR-TS-after-treclaim/20200118-034925 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc-randconfig-a001-20200121 (attached as .config) compiler: powerpc64le-linux-gcc (GCC) 7.5.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 GCC_VERSION=7.5.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): arch/powerpc/kernel/signal_32.c: In function 'handle_rt_signal32': >> arch/powerpc/kernel/signal_32.c:908:16: error: unused variable 'msr' [-Werror=unused-variable] unsigned long msr = regs->msr; ^~~ arch/powerpc/kernel/signal_32.c: In function 'handle_signal32': arch/powerpc/kernel/signal_32.c:1367:16: error: unused variable 'msr' [-Werror=unused-variable] unsigned long msr = regs->msr; ^~~ cc1: all warnings being treated as errors -- arch/powerpc/kernel/signal_64.c: In function 'handle_rt_signal64': >> arch/powerpc/kernel/signal_64.c:821:16: error: unused variable 'msr' [-Werror=unused-variable] unsigned long msr = regs->msr; ^~~ cc1: all warnings being treated as errors vim +/msr +908 arch/powerpc/kernel/signal_32.c 891 892 /* 893 * Set up a signal frame for a "real-time" signal handler 894 * (one which gets siginfo). 895 */ 896 int handle_rt_signal32(struct ksignal *ksig, sigset_t *oldset, 897 struct task_struct *tsk) 898 { 899 struct rt_sigframe __user *rt_sf; 900 struct mcontext __user *frame; 901 struct mcontext __user *tm_frame = NULL; 902 void __user *addr; 903 unsigned long newsp = 0; 904 int sigret; 905 unsigned long tramp; 906 struct pt_regs *regs = tsk->thread.regs; 907 /* Save the thread's msr before get_tm_stackpointer() changes it */ > 908 unsigned long msr = regs->msr; 909 910 BUG_ON(tsk != current); 911 912 /* Set up Signal Frame */ 913 /* Put a Real Time Context onto stack */ 914 rt_sf = get_sigframe(ksig, get_tm_stackpointer(tsk), sizeof(*rt_sf), 1); 915 addr = rt_sf; 916 if (unlikely(rt_sf == NULL)) 917 goto badframe; 918 919 /* Put the siginfo & fill in most of the ucontext */ 920 if (copy_siginfo_to_user(&rt_sf->info, &ksig->info) 921 || __put_user(0, &rt_sf->uc.uc_flags) 922 || __save_altstack(&rt_sf->uc.uc_stack, regs->gpr[1]) 923 || __put_user(to_user_ptr(&rt_sf->uc.uc_mcontext), 924 &rt_sf->uc.uc_regs) 925 || put_sigset_t(&rt_sf->uc.uc_sigmask, oldset)) 926 goto badframe; 927 928 /* Save user registers on the stack */ 929 frame = &rt_sf->uc.uc_mcontext; 930 addr = frame; 931 if (vdso32_rt_sigtramp && tsk->mm->context.vdso_base) { 932 sigret = 0; 933 tramp = tsk->mm->context.vdso_base + vdso32_rt_sigtramp; 934 } else { 935 sigret = __NR_rt_sigreturn; 936 tramp = (unsigned long) frame->tramp; 937 } 938 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation
Attachment:
.config.gz
Description: application/gzip