[PATCH] binfmt_flat: fix arch/m32r and arch/microblaze flat_put_addr_at_rp()

From: Randy Dunlap
Date: Sun Jul 30 2017 - 13:25:54 EST


From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

Change the m32r flat_put_addr_at_rp() function to return int and
always return 0.

The microblaze function already returned 0 so just change its
function return type from void to int.

Seven (7) other arch-es already have this function as returning
an int type result.

Fixes: 468138d78510 (binfmt_flat: flat_{get,put}_addr_from_rp()
should be able to fail)

Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
---
arch/m32r/include/asm/flat.h | 3 ++-
arch/microblaze/include/asm/flat.h | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)

Al, is this sufficient?

--- lnx-413-rc2.orig/arch/m32r/include/asm/flat.h
+++ lnx-413-rc2/arch/m32r/include/asm/flat.h
@@ -95,7 +95,7 @@ static inline unsigned long m32r_flat_ge
return ~0; /* bogus value */
}

-static inline void flat_put_addr_at_rp(u32 *rp, u32 addr, u32 relval)
+static inline int flat_put_addr_at_rp(u32 *rp, u32 addr, u32 relval)
{
unsigned int reloc = flat_m32r_get_reloc_type (relval);
if (reloc & 0xf0) {
@@ -133,6 +133,7 @@ static inline void flat_put_addr_at_rp(u
break;
}
}
+ return 0;
}

// kludge - text_len is a local variable in the only user.
--- lnx-413-rc2.orig/arch/microblaze/include/asm/flat.h
+++ lnx-413-rc2/arch/microblaze/include/asm/flat.h
@@ -60,7 +60,7 @@ static inline int flat_get_addr_from_rp(
* unaligned.
*/

-static inline void
+static inline int
flat_put_addr_at_rp(u32 __user *rp, u32 addr, u32 relval)
{
u32 *p = (__force u32 *)rp;