[tip:x86/mpx] x86 mpx: Change return type of get_reg_offset()

From: tip-bot for Dave Hansen
Date: Wed Nov 19 2014 - 05:57:56 EST


Commit-ID: 68c009c4137927fd4ffd3e653bb5209d752c1d42
Gitweb: http://git.kernel.org/tip/68c009c4137927fd4ffd3e653bb5209d752c1d42
Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
AuthorDate: Tue, 18 Nov 2014 10:23:43 -0800
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitDate: Wed, 19 Nov 2014 11:54:12 +0100

x86 mpx: Change return type of get_reg_offset()

get_reg_offset() used to return the register contents themselves
instead of the register offset. When it did that, it was an
unsigned long. I changed it to return an integer _offset_
instead of the register. But, I neglected to change the return
type of the function or the variables in which we store the
result of the call.

This fixes up the code to clear up the warnings from the smatch
bot:

New smatch warnings:
arch/x86/mm/mpx.c:178 mpx_get_addr_ref() warn: unsigned 'addr_offset' is never less than zero.
arch/x86/mm/mpx.c:184 mpx_get_addr_ref() warn: unsigned 'base_offset' is never less than zero.
arch/x86/mm/mpx.c:188 mpx_get_addr_ref() warn: unsigned 'indx_offset' is never less than zero.
arch/x86/mm/mpx.c:196 mpx_get_addr_ref() warn: unsigned 'addr_offset' is never less than zero.

Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
Cc: Dave Hansen <dave@xxxxxxxx>
Cc: x86@xxxxxxxxxx
Link: http://lkml.kernel.org/r/20141118182343.C3E0C629@xxxxxxxxxxxxxxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
---
arch/x86/mm/mpx.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/arch/x86/mm/mpx.c b/arch/x86/mm/mpx.c
index f30b48e..67ebf57 100644
--- a/arch/x86/mm/mpx.c
+++ b/arch/x86/mm/mpx.c
@@ -102,8 +102,8 @@ enum reg_type {
REG_TYPE_BASE,
};

-static unsigned long get_reg_offset(struct insn *insn, struct pt_regs *regs,
- enum reg_type type)
+static int get_reg_offset(struct insn *insn, struct pt_regs *regs,
+ enum reg_type type)
{
int regno = 0;

@@ -174,9 +174,8 @@ static unsigned long 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, addr_offset;
- unsigned long base, base_offset;
- unsigned long indx, indx_offset;
+ unsigned long addr, base, indx;
+ int addr_offset, base_offset, indx_offset;
insn_byte_t sib;

insn_get_modrm(insn);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/