From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755339AbdKAVCm (ORCPT ); Wed, 1 Nov 2017 17:02:42 -0400 Received: from terminus.zytor.com ([65.50.211.136]:43125 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755264AbdKAVCk (ORCPT ); Wed, 1 Nov 2017 17:02:40 -0400 Date: Wed, 1 Nov 2017 13:56:40 -0700 From: tip-bot for Ricardo Neri Message-ID: Cc: ricardo.neri-calderon@linux.intel.com, dave.hansen@linux.intel.com, mhiramat@kernel.org, vbabka@suse.cz, shuah@kernel.org, slaoub@gmail.com, ray.huang@amd.com, corbet@lwn.net, luto@kernel.org, jslaby@suse.cz, adam.buchbinder@gmail.com, liverlint@gmail.com, adanhawthorn@gmail.com, bp@suse.de, mst@redhat.com, mingo@kernel.org, lstoakes@gmail.com, cmetcalf@mellanox.com, tglx@linutronix.de, joe@perches.com, pbonzini@redhat.com, hpa@zytor.com, qiaowei.ren@intel.com, akpm@linux-foundation.org, peterz@infradead.org, paul.gortmaker@windriver.com, brgerst@gmail.com, colin.king@canonical.com, linux-kernel@vger.kernel.org, ravi.v.shankar@intel.com Reply-To: ray.huang@amd.com, shuah@kernel.org, slaoub@gmail.com, mhiramat@kernel.org, vbabka@suse.cz, ricardo.neri-calderon@linux.intel.com, dave.hansen@linux.intel.com, jslaby@suse.cz, liverlint@gmail.com, adam.buchbinder@gmail.com, bp@suse.de, adanhawthorn@gmail.com, mst@redhat.com, luto@kernel.org, corbet@lwn.net, joe@perches.com, pbonzini@redhat.com, hpa@zytor.com, paul.gortmaker@windriver.com, qiaowei.ren@intel.com, peterz@infradead.org, akpm@linux-foundation.org, lstoakes@gmail.com, mingo@kernel.org, cmetcalf@mellanox.com, tglx@linutronix.de, brgerst@gmail.com, colin.king@canonical.com, linux-kernel@vger.kernel.org, ravi.v.shankar@intel.com In-Reply-To: <1509135945-13762-6-git-send-email-ricardo.neri-calderon@linux.intel.com> References: <1509135945-13762-6-git-send-email-ricardo.neri-calderon@linux.intel.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:x86/mpx] x86/mpx: Simplify handling of errors when computing linear addresses Git-Commit-ID: b15d70df6e685912be8bbcb7557d277d48aa942c X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: b15d70df6e685912be8bbcb7557d277d48aa942c Gitweb: https://git.kernel.org/tip/b15d70df6e685912be8bbcb7557d277d48aa942c Author: Ricardo Neri AuthorDate: Fri, 27 Oct 2017 13:25:32 -0700 Committer: Thomas Gleixner CommitDate: Wed, 1 Nov 2017 21:50:08 +0100 x86/mpx: Simplify handling of errors when computing linear addresses When errors occur in the computation of the linear address, -1L is returned. Rather than having a separate return path for errors, the variable used to return the computed linear address can be initialized with the error value. Hence, only one return path is needed. This makes the function easier to read. While here, ensure that the error value is -1L, a 64-bit value, rather than -1, a 32-bit value. Suggested-by: Borislav Petkov Signed-off-by: Ricardo Neri Signed-off-by: Thomas Gleixner Reviewed-by: Borislav Petkov Cc: Adan Hawthorn Cc: "Michael S. Tsirkin" Cc: Peter Zijlstra Cc: Dave Hansen Cc: ricardo.neri@intel.com Cc: Paul Gortmaker Cc: Huang Rui Cc: Qiaowei Ren Cc: Shuah Khan Cc: Jonathan Corbet Cc: Jiri Slaby Cc: Nathan Howard Cc: "Ravi V. Shankar" Cc: Chris Metcalf Cc: Brian Gerst Cc: Andy Lutomirski Cc: Colin Ian King Cc: Chen Yucong Cc: Adam Buchbinder Cc: Vlastimil Babka Cc: Lorenzo Stoakes Cc: Masami Hiramatsu Cc: Joe Perches Cc: Paolo Bonzini Cc: Andrew Morton Link: https://lkml.kernel.org/r/1509135945-13762-6-git-send-email-ricardo.neri-calderon@linux.intel.com --- arch/x86/mm/mpx.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/arch/x86/mm/mpx.c b/arch/x86/mm/mpx.c index 9ceaa95..f4c48a0 100644 --- a/arch/x86/mm/mpx.c +++ b/arch/x86/mm/mpx.c @@ -138,7 +138,7 @@ static int get_reg_offset(struct insn *insn, struct pt_regs *regs, */ static void __user *mpx_get_addr_ref(struct insn *insn, struct pt_regs *regs) { - unsigned long addr, base, indx; + unsigned long addr = -1L, base, indx; int addr_offset, base_offset, indx_offset; insn_byte_t sib; @@ -149,17 +149,17 @@ static void __user *mpx_get_addr_ref(struct insn *insn, struct pt_regs *regs) if (X86_MODRM_MOD(insn->modrm.value) == 3) { addr_offset = get_reg_offset(insn, regs, REG_TYPE_RM); if (addr_offset < 0) - goto out_err; + goto out; addr = regs_get_register(regs, addr_offset); } else { if (insn->sib.nbytes) { base_offset = get_reg_offset(insn, regs, REG_TYPE_BASE); if (base_offset < 0) - goto out_err; + goto out; indx_offset = get_reg_offset(insn, regs, REG_TYPE_INDEX); if (indx_offset < 0) - goto out_err; + goto out; base = regs_get_register(regs, base_offset); indx = regs_get_register(regs, indx_offset); @@ -167,14 +167,13 @@ static void __user *mpx_get_addr_ref(struct insn *insn, struct pt_regs *regs) } else { addr_offset = get_reg_offset(insn, regs, REG_TYPE_RM); if (addr_offset < 0) - goto out_err; + goto out; addr = regs_get_register(regs, addr_offset); } addr += insn->displacement.value; } +out: return (void __user *)addr; -out_err: - return (void __user *)-1; } static int mpx_insn_decode(struct insn *insn,