From: Breno Leitao <leitao@debian.org> To: linuxppc-dev@lists.ozlabs.org Cc: mikey@neuling.org, mpe@ellerman.id.au, gregkh@linuxfoundation.org, stable@vger.kernel.org, Breno Leitao <leitao@debian.org> Subject: [PATCH] powerpc/tm: Limit TM code inside PPC_TRANSACTIONAL_MEM Date: Wed, 9 Jan 2019 11:16:45 -0200 [thread overview] Message-ID: <1547039805-7979-1-git-send-email-leitao@debian.org> (raw) Commit e1c3743e1a20 ("powerpc/tm: Set MSR[TS] just prior to recheckpoint") moved a code block around and this block uses a 'msr' variable outside of the CONFIG_PPC_TRANSACTIONAL_MEM, however the 'msr' variable is declared inside a CONFIG_PPC_TRANSACTIONAL_MEM block, causing a possible error when CONFIG_PPC_TRANSACTION_MEM is not defined. error: 'msr' undeclared (first use in this function) This is not causing a compilation error in the mainline kernel, because 'msr' is being used as an argument of MSR_TM_ACTIVE(), which is defined as the following when CONFIG_PPC_TRANSACTIONAL_MEM is *not* set: #define MSR_TM_ACTIVE(x) 0 This patch just fixes this issue avoiding the 'msr' variable usage outside the CONFIG_PPC_TRANSACTIONAL_MEM block, avoiding trusting in the MSR_TM_ACTIVE() definition. Cc: stable@vger.kernel.org Reported-by: Christoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de> Fixes: e1c3743e1a20 ("powerpc/tm: Set MSR[TS] just prior to recheckpoint") Signed-off-by: Breno Leitao <leitao@debian.org> --- NB: Since stable kernels didn't cherry picked 5c784c8414fba ('powerpc/tm: Remove msr_tm_active()), MSR_TM_ACTIVE() is not defined as 0 for CONFIG_PPC_TRANSACTIONAL_MEM=n case, thus triggering the compilation error above. Tested against stable kernel 4.19.13-rc2 and problem is now fixed when CONFIG_PPC_TRANSACTIONAL_MEM=n arch/powerpc/kernel/signal_64.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c index daa28cb72272..8fe698162ab9 100644 --- a/arch/powerpc/kernel/signal_64.c +++ b/arch/powerpc/kernel/signal_64.c @@ -739,11 +739,12 @@ SYSCALL_DEFINE0(rt_sigreturn) if (restore_tm_sigcontexts(current, &uc->uc_mcontext, &uc_transact->uc_mcontext)) goto badframe; - } + } else #endif - /* Fall through, for non-TM restore */ - if (!MSR_TM_ACTIVE(msr)) { + { /* + * Fall through, for non-TM restore + * * Unset MSR[TS] on the thread regs since MSR from user * context does not have MSR active, and recheckpoint was * not called since restore_tm_sigcontexts() was not called -- 2.19.0
WARNING: multiple messages have this Message-ID (diff)
From: Breno Leitao <leitao@debian.org> To: linuxppc-dev@lists.ozlabs.org Cc: Breno Leitao <leitao@debian.org>, mikey@neuling.org, stable@vger.kernel.org, gregkh@linuxfoundation.org Subject: [PATCH] powerpc/tm: Limit TM code inside PPC_TRANSACTIONAL_MEM Date: Wed, 9 Jan 2019 11:16:45 -0200 [thread overview] Message-ID: <1547039805-7979-1-git-send-email-leitao@debian.org> (raw) Commit e1c3743e1a20 ("powerpc/tm: Set MSR[TS] just prior to recheckpoint") moved a code block around and this block uses a 'msr' variable outside of the CONFIG_PPC_TRANSACTIONAL_MEM, however the 'msr' variable is declared inside a CONFIG_PPC_TRANSACTIONAL_MEM block, causing a possible error when CONFIG_PPC_TRANSACTION_MEM is not defined. error: 'msr' undeclared (first use in this function) This is not causing a compilation error in the mainline kernel, because 'msr' is being used as an argument of MSR_TM_ACTIVE(), which is defined as the following when CONFIG_PPC_TRANSACTIONAL_MEM is *not* set: #define MSR_TM_ACTIVE(x) 0 This patch just fixes this issue avoiding the 'msr' variable usage outside the CONFIG_PPC_TRANSACTIONAL_MEM block, avoiding trusting in the MSR_TM_ACTIVE() definition. Cc: stable@vger.kernel.org Reported-by: Christoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de> Fixes: e1c3743e1a20 ("powerpc/tm: Set MSR[TS] just prior to recheckpoint") Signed-off-by: Breno Leitao <leitao@debian.org> --- NB: Since stable kernels didn't cherry picked 5c784c8414fba ('powerpc/tm: Remove msr_tm_active()), MSR_TM_ACTIVE() is not defined as 0 for CONFIG_PPC_TRANSACTIONAL_MEM=n case, thus triggering the compilation error above. Tested against stable kernel 4.19.13-rc2 and problem is now fixed when CONFIG_PPC_TRANSACTIONAL_MEM=n arch/powerpc/kernel/signal_64.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c index daa28cb72272..8fe698162ab9 100644 --- a/arch/powerpc/kernel/signal_64.c +++ b/arch/powerpc/kernel/signal_64.c @@ -739,11 +739,12 @@ SYSCALL_DEFINE0(rt_sigreturn) if (restore_tm_sigcontexts(current, &uc->uc_mcontext, &uc_transact->uc_mcontext)) goto badframe; - } + } else #endif - /* Fall through, for non-TM restore */ - if (!MSR_TM_ACTIVE(msr)) { + { /* + * Fall through, for non-TM restore + * * Unset MSR[TS] on the thread regs since MSR from user * context does not have MSR active, and recheckpoint was * not called since restore_tm_sigcontexts() was not called -- 2.19.0
next reply other threads:[~2019-01-09 13:16 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-01-09 13:16 Breno Leitao [this message] 2019-01-09 13:16 ` [PATCH] powerpc/tm: Limit TM code inside PPC_TRANSACTIONAL_MEM Breno Leitao 2019-01-14 10:12 ` Michael Ellerman 2019-01-14 10:12 ` Michael Ellerman 2019-01-16 13:35 ` [PATCH] " Sasha Levin 2019-01-17 11:49 ` Breno Leitao 2019-01-17 11:49 ` Breno Leitao 2019-01-18 14:51 ` Sasha Levin 2019-01-18 14:51 ` Sasha Levin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1547039805-7979-1-git-send-email-leitao@debian.org \ --to=leitao@debian.org \ --cc=gregkh@linuxfoundation.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=mikey@neuling.org \ --cc=mpe@ellerman.id.au \ --cc=stable@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.