binfmt_flat: remove flat_old_ram_flag
authorChristoph Hellwig <hch@lst.de>
Thu, 13 Jun 2019 07:08:50 +0000 (09:08 +0200)
committerGreg Ungerer <gerg@kernel.org>
Sun, 23 Jun 2019 23:16:46 +0000 (09:16 +1000)
Instead add a Kconfig variable that only h8300 selects.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
arch/arm/include/asm/flat.h
arch/c6x/include/asm/flat.h
arch/h8300/Kconfig
arch/h8300/include/asm/flat.h
arch/m68k/include/asm/flat.h
arch/microblaze/include/asm/flat.h
arch/sh/include/asm/flat.h
arch/xtensa/include/asm/flat.h
fs/Kconfig.binfmt
fs/binfmt_flat.c

index a185fe023b602fb33f469b96b7a3e89389b135e6..acf162111ee2add9c749498a02f62a491b4d9834 100644 (file)
@@ -9,7 +9,6 @@
 #include <linux/uaccess.h>
 
 #define        flat_argvp_envp_on_stack()              1
-#define        flat_old_ram_flag(flags)                (flags)
 
 static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
                                        u32 *addr, u32 *persistent)
index c4d703b454c6402c47438861b5c4a791d3bcd338..353e4d06e8c05aa4aa60dcf8ac0b9d18dfa758d0 100644 (file)
@@ -5,7 +5,6 @@
 #include <asm/unaligned.h>
 
 #define flat_argvp_envp_on_stack()                     0
-#define flat_old_ram_flag(flags)                       (flags)
 static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
                                        u32 *addr, u32 *persistent)
 {
index ecfc4b4b6373cf4a89b8e92ad62b686963fe7000..d30e8727b02dc28313613d111713d7c4b4b1a9f1 100644 (file)
@@ -2,6 +2,7 @@
 config H8300
         def_bool y
        select ARCH_32BIT_OFF_T
+       select BINFMT_FLAT_OLD_ALWAYS_RAM
        select GENERIC_ATOMIC64
        select HAVE_UID16
        select VIRT_TO_BUS
index 7ef7eefded3d83c99b76798911aee69cdbf60747..14cc928d547824c998876202bdc51cfa25bedf49 100644 (file)
@@ -9,7 +9,6 @@
 #include <asm/unaligned.h>
 
 #define        flat_argvp_envp_on_stack()              1
-#define        flat_old_ram_flag(flags)                1
 
 /*
  * on the H8 a couple of the relocations have an instruction in the
index 217fa89c8e34b90139a5a7396b72bda51846e0ef..7b1fb5c2809e3bdde8558513786151046284c90f 100644 (file)
@@ -9,7 +9,6 @@
 #include <linux/uaccess.h>
 
 #define        flat_argvp_envp_on_stack()              1
-#define        flat_old_ram_flag(flags)                (flags)
 static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
                                        u32 *addr, u32 *persistent)
 {
index 846084fa7f0456ab85d8a29ae185a8c05626d60a..1cd8d7f4cf125977ba9c0a4592a15fc2db854597 100644 (file)
@@ -14,7 +14,6 @@
 #include <asm/unaligned.h>
 
 #define        flat_argvp_envp_on_stack()      0
-#define        flat_old_ram_flag(flags)        (flags)
 
 /*
  * Microblaze works a little differently from other arches, because
index 0d520b4cc5ea99c3631e70eb8d09ab9c5b9fb498..015678d7b7711c3a8ada6775b4c89b855f588e9d 100644 (file)
@@ -12,7 +12,6 @@
 #include <asm/unaligned.h>
 
 #define        flat_argvp_envp_on_stack()              0
-#define        flat_old_ram_flag(flags)                (flags)
 static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
                                        u32 *addr, u32 *persistent)
 {
index a1d88aa3ef8a5ef44ccd2bd28eeeda2c9156b270..b215c1e66958c234ecc707f539e595273f800db2 100644 (file)
@@ -5,7 +5,6 @@
 #include <asm/unaligned.h>
 
 #define flat_argvp_envp_on_stack()                     0
-#define flat_old_ram_flag(flags)                       (flags)
 static inline int flat_get_addr_from_rp(u32 __user *rp, u32 relval, u32 flags,
                                        u32 *addr, u32 *persistent)
 {
index f87ddd1b6d72bc3b102bc407d1e5061c25590d77..5658e12ad944497ad3a284394bca352ce0bc6379 100644 (file)
@@ -97,6 +97,9 @@ config BINFMT_FLAT
        help
          Support uClinux FLAT format binaries.
 
+config BINFMT_FLAT_OLD_ALWAYS_RAM
+       bool
+
 config BINFMT_ZFLAT
        bool "Enable ZFLAT support"
        depends on BINFMT_FLAT
index c0e4535dc1ecc39cc3d789094fb0e3fd315e4408..3e7f4a6cffa25d738b91f9d873c7ff77a3cd8874 100644 (file)
@@ -488,7 +488,8 @@ static int load_flat_file(struct linux_binprm *bprm,
         * fix up the flags for the older format,  there were all kinds
         * of endian hacks,  this only works for the simple cases
         */
-       if (rev == OLD_FLAT_VERSION && flat_old_ram_flag(flags))
+       if (rev == OLD_FLAT_VERSION &&
+          (flags || IS_ENABLED(CONFIG_BINFMT_FLAT_OLD_ALWAYS_RAM)))
                flags = FLAT_FLAG_RAM;
 
 #ifndef CONFIG_BINFMT_ZFLAT