binfmt_flat: remove flat_reloc_valid
This helper is the same for all architectures, open code it in the only caller. Signed-off-by: Christoph Hellwig <hch@lst.de> Tested-by: Vladimir Murzin <vladimir.murzin@arm.com> Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com> Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>alistair/sunxi64-5.4-dsi
parent
4b972a01a7
commit
9ee24b2a38
|
@ -10,7 +10,6 @@
|
||||||
|
|
||||||
#define flat_argvp_envp_on_stack() 1
|
#define flat_argvp_envp_on_stack() 1
|
||||||
#define flat_old_ram_flag(flags) (flags)
|
#define flat_old_ram_flag(flags) (flags)
|
||||||
#define flat_reloc_valid(reloc, size) ((reloc) <= (size))
|
|
||||||
|
|
||||||
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
||||||
u32 *addr, u32 *persistent)
|
u32 *addr, u32 *persistent)
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
|
|
||||||
#define flat_argvp_envp_on_stack() 0
|
#define flat_argvp_envp_on_stack() 0
|
||||||
#define flat_old_ram_flag(flags) (flags)
|
#define flat_old_ram_flag(flags) (flags)
|
||||||
#define flat_reloc_valid(reloc, size) ((reloc) <= (size))
|
|
||||||
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
||||||
u32 *addr, u32 *persistent)
|
u32 *addr, u32 *persistent)
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
|
|
||||||
#define flat_argvp_envp_on_stack() 1
|
#define flat_argvp_envp_on_stack() 1
|
||||||
#define flat_old_ram_flag(flags) 1
|
#define flat_old_ram_flag(flags) 1
|
||||||
#define flat_reloc_valid(reloc, size) ((reloc) <= (size))
|
|
||||||
#define flat_set_persistent(relval, p) 0
|
#define flat_set_persistent(relval, p) 0
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
|
|
||||||
#define flat_argvp_envp_on_stack() 1
|
#define flat_argvp_envp_on_stack() 1
|
||||||
#define flat_old_ram_flag(flags) (flags)
|
#define flat_old_ram_flag(flags) (flags)
|
||||||
#define flat_reloc_valid(reloc, size) ((reloc) <= (size))
|
|
||||||
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
||||||
u32 *addr, u32 *persistent)
|
u32 *addr, u32 *persistent)
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
|
|
||||||
#define flat_argvp_envp_on_stack() 0
|
#define flat_argvp_envp_on_stack() 0
|
||||||
#define flat_old_ram_flag(flags) (flags)
|
#define flat_old_ram_flag(flags) (flags)
|
||||||
#define flat_reloc_valid(reloc, size) ((reloc) <= (size))
|
|
||||||
#define flat_set_persistent(relval, p) 0
|
#define flat_set_persistent(relval, p) 0
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
|
|
||||||
#define flat_argvp_envp_on_stack() 0
|
#define flat_argvp_envp_on_stack() 0
|
||||||
#define flat_old_ram_flag(flags) (flags)
|
#define flat_old_ram_flag(flags) (flags)
|
||||||
#define flat_reloc_valid(reloc, size) ((reloc) <= (size))
|
|
||||||
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
||||||
u32 *addr, u32 *persistent)
|
u32 *addr, u32 *persistent)
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
|
|
||||||
#define flat_argvp_envp_on_stack() 0
|
#define flat_argvp_envp_on_stack() 0
|
||||||
#define flat_old_ram_flag(flags) (flags)
|
#define flat_old_ram_flag(flags) (flags)
|
||||||
#define flat_reloc_valid(reloc, size) ((reloc) <= (size))
|
|
||||||
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
|
||||||
u32 *addr, u32 *persistent)
|
u32 *addr, u32 *persistent)
|
||||||
{
|
{
|
||||||
|
|
|
@ -345,7 +345,7 @@ calc_reloc(unsigned long r, struct lib_info *p, int curid, int internalp)
|
||||||
start_code = p->lib_list[id].start_code;
|
start_code = p->lib_list[id].start_code;
|
||||||
text_len = p->lib_list[id].text_len;
|
text_len = p->lib_list[id].text_len;
|
||||||
|
|
||||||
if (!flat_reloc_valid(r, start_brk - start_data + text_len)) {
|
if (r > start_brk - start_data + text_len) {
|
||||||
pr_err("reloc outside program 0x%lx (0 - 0x%lx/0x%lx)",
|
pr_err("reloc outside program 0x%lx (0 - 0x%lx/0x%lx)",
|
||||||
r, start_brk-start_data+text_len, text_len);
|
r, start_brk-start_data+text_len, text_len);
|
||||||
goto failed;
|
goto failed;
|
||||||
|
|
Loading…
Reference in New Issue