summaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2019-06-13 03:08:59 -0400
committerGreg Ungerer <gerg@kernel.org>2019-06-23 19:16:47 -0400
commit7a8998c9d830b59626e049a827678ba444fcf8e2 (patch)
treee49c18fba9af2e182f1675ebb8025dcbb1277da6 /arch/m68k
parentcf9a566c2c06ac34425c4faf6d32ac55ddbeea7a (diff)
binfmt_flat: provide an asm-generic/flat.h
This file implements the flat get/put reloc helpers for architectures that do not need to overload the relocs by simply using get_user/put_user. Note that many nommu architectures currently use {get,put}_unaligned, which looks a little bogus and should probably later be switched over to this version as well. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com> Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
Diffstat (limited to 'arch/m68k')
-rw-r--r--arch/m68k/include/asm/flat.h21
1 files changed, 1 insertions, 20 deletions
diff --git a/arch/m68k/include/asm/flat.h b/arch/m68k/include/asm/flat.h
index d7102fcd43eb..46379e08cdd6 100644
--- a/arch/m68k/include/asm/flat.h
+++ b/arch/m68k/include/asm/flat.h
@@ -6,26 +6,7 @@
6#ifndef __M68KNOMMU_FLAT_H__ 6#ifndef __M68KNOMMU_FLAT_H__
7#define __M68KNOMMU_FLAT_H__ 7#define __M68KNOMMU_FLAT_H__
8 8
9#include <linux/uaccess.h> 9#include <asm-generic/flat.h>
10
11static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
12 u32 *addr, u32 *persistent)
13{
14#ifdef CONFIG_CPU_HAS_NO_UNALIGNED
15 return copy_from_user(addr, rp, 4) ? -EFAULT : 0;
16#else
17 return get_user(*addr, rp);
18#endif
19}
20
21static inline int flat_put_addr_at_rp(u32 __user *rp, u32 addr, u32 rel)
22{
23#ifdef CONFIG_CPU_HAS_NO_UNALIGNED
24 return copy_to_user(rp, &addr, 4) ? -EFAULT : 0;
25#else
26 return put_user(addr, rp);
27#endif
28}
29 10
30#define FLAT_PLAT_INIT(regs) \ 11#define FLAT_PLAT_INIT(regs) \
31 do { \ 12 do { \