From: Gustavo Walbon <gwalbon@linux.ibm.com> To: linuxppc-dev@lists.ozlabs.org Cc: benh@kernel.crashing.org, paulus@samba.org, mpe@ellerman.id.au, diana.craciun@nxp.com, gwalbon@linux.ibm.com, jkosina@suse.cz, jpoimboe@redhat.com, geert+renesas@glider.be, cmr@informatik.wtf, yuehaibing@huawei.com, linux-kernel@vger.kernel.org, maurosr@linux.ibm.com Subject: [PATCH][v2] powerpc: Set right value of Speculation_Store_Bypass in /proc/<pid>/status Date: Sat, 23 Nov 2019 20:02:35 -0300 [thread overview] Message-ID: <20191123230235.11888-1-gwalbon@linux.ibm.com> (raw) The issue has showed the value of status of Speculation_Store_Bypass in the /proc/<pid>/status as `unknown` for PowerPC systems. The patch fix the checking of the mitigation status of Speculation, and can be reported as "not vulnerable", "globally mitigated" or "vulnerable". Link: https://github.com/linuxppc/issues/issues/255 Changelog: Rebase on v5.4-rc8 Signed-off-by: Gustavo Walbon <gwalbon@linux.ibm.com> --- arch/powerpc/kernel/security.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kernel/security.c b/arch/powerpc/kernel/security.c index 7d4b2080a658..04e566026bbc 100644 --- a/arch/powerpc/kernel/security.c +++ b/arch/powerpc/kernel/security.c @@ -14,7 +14,7 @@ #include <asm/debugfs.h> #include <asm/security_features.h> #include <asm/setup.h> - +#include <linux/prctl.h> u64 powerpc_security_features __read_mostly = SEC_FTR_DEFAULT; @@ -344,6 +344,29 @@ ssize_t cpu_show_spec_store_bypass(struct device *dev, struct device_attribute * return sprintf(buf, "Vulnerable\n"); } +static int ssb_prctl_get(struct task_struct *task) +{ + if (stf_barrier) { + if (stf_enabled_flush_types == STF_BARRIER_NONE) + return PR_SPEC_NOT_AFFECTED; + else + return PR_SPEC_DISABLE; + } else + return PR_SPEC_DISABLE_NOEXEC; + + return -EINVAL; +} + +int arch_prctl_spec_ctrl_get(struct task_struct *task, unsigned long which) +{ + switch (which) { + case PR_SPEC_STORE_BYPASS: + return ssb_prctl_get(task); + default: + return -ENODEV; + } +} + #ifdef CONFIG_DEBUG_FS static int stf_barrier_set(void *data, u64 val) { -- 2.19.1
WARNING: multiple messages have this Message-ID (diff)
From: Gustavo Walbon <gwalbon@linux.ibm.com> To: linuxppc-dev@lists.ozlabs.org Cc: cmr@informatik.wtf, geert+renesas@glider.be, gwalbon@linux.ibm.com, jpoimboe@redhat.com, yuehaibing@huawei.com, linux-kernel@vger.kernel.org, diana.craciun@nxp.com, paulus@samba.org, jkosina@suse.cz, maurosr@linux.ibm.com Subject: [PATCH][v2] powerpc: Set right value of Speculation_Store_Bypass in /proc/<pid>/status Date: Sat, 23 Nov 2019 20:02:35 -0300 [thread overview] Message-ID: <20191123230235.11888-1-gwalbon@linux.ibm.com> (raw) The issue has showed the value of status of Speculation_Store_Bypass in the /proc/<pid>/status as `unknown` for PowerPC systems. The patch fix the checking of the mitigation status of Speculation, and can be reported as "not vulnerable", "globally mitigated" or "vulnerable". Link: https://github.com/linuxppc/issues/issues/255 Changelog: Rebase on v5.4-rc8 Signed-off-by: Gustavo Walbon <gwalbon@linux.ibm.com> --- arch/powerpc/kernel/security.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kernel/security.c b/arch/powerpc/kernel/security.c index 7d4b2080a658..04e566026bbc 100644 --- a/arch/powerpc/kernel/security.c +++ b/arch/powerpc/kernel/security.c @@ -14,7 +14,7 @@ #include <asm/debugfs.h> #include <asm/security_features.h> #include <asm/setup.h> - +#include <linux/prctl.h> u64 powerpc_security_features __read_mostly = SEC_FTR_DEFAULT; @@ -344,6 +344,29 @@ ssize_t cpu_show_spec_store_bypass(struct device *dev, struct device_attribute * return sprintf(buf, "Vulnerable\n"); } +static int ssb_prctl_get(struct task_struct *task) +{ + if (stf_barrier) { + if (stf_enabled_flush_types == STF_BARRIER_NONE) + return PR_SPEC_NOT_AFFECTED; + else + return PR_SPEC_DISABLE; + } else + return PR_SPEC_DISABLE_NOEXEC; + + return -EINVAL; +} + +int arch_prctl_spec_ctrl_get(struct task_struct *task, unsigned long which) +{ + switch (which) { + case PR_SPEC_STORE_BYPASS: + return ssb_prctl_get(task); + default: + return -ENODEV; + } +} + #ifdef CONFIG_DEBUG_FS static int stf_barrier_set(void *data, u64 val) { -- 2.19.1
next reply other threads:[~2019-11-23 23:08 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-11-23 23:02 Gustavo Walbon [this message] 2019-11-23 23:02 ` [PATCH][v2] powerpc: Set right value of Speculation_Store_Bypass in /proc/<pid>/status Gustavo Walbon 2019-11-26 2:28 ` Michael Ellerman 2019-11-26 2:28 ` Michael Ellerman
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=20191123230235.11888-1-gwalbon@linux.ibm.com \ --to=gwalbon@linux.ibm.com \ --cc=benh@kernel.crashing.org \ --cc=cmr@informatik.wtf \ --cc=diana.craciun@nxp.com \ --cc=geert+renesas@glider.be \ --cc=jkosina@suse.cz \ --cc=jpoimboe@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=maurosr@linux.ibm.com \ --cc=mpe@ellerman.id.au \ --cc=paulus@samba.org \ --cc=yuehaibing@huawei.com \ /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.