Skip to content

Commit 68c009c

Browse files
hansendcKAGA-KOKO
authored andcommitted
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@linux.intel.com> Cc: Dave Hansen <dave@sr71.net> Cc: x86@kernel.org Link: http://lkml.kernel.org/r/20141118182343.C3E0C629@viggo.jf.intel.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 parent abe1e39 commit 68c009c

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

arch/x86/mm/mpx.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ enum reg_type {
102102
REG_TYPE_BASE,
103103
};
104104

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

@@ -174,9 +174,8 @@ static unsigned long get_reg_offset(struct insn *insn, struct pt_regs *regs,
174174
*/
175175
static void __user *mpx_get_addr_ref(struct insn *insn, struct pt_regs *regs)
176176
{
177-
unsigned long addr, addr_offset;
178-
unsigned long base, base_offset;
179-
unsigned long indx, indx_offset;
177+
unsigned long addr, base, indx;
178+
int addr_offset, base_offset, indx_offset;
180179
insn_byte_t sib;
181180

182181
insn_get_modrm(insn);

0 commit comments

Comments
 (0)