Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2535e0d7 authored by Josh Triplett's avatar Josh Triplett Committed by Linus Torvalds
Browse files

fs: make binfmt support for #! scripts modular and removable



Add a new configuration option CONFIG_BINFMT_SCRIPT to configure support
for interpreted scripts starting with "#!"; allow compiling out that
support, or building it as a module.  Embedded systems running exclusively
compiled binaries could leave this support out, and systems that don't
need scripts before mounting the root filesystem can build this as a
module.

Signed-off-by: default avatarJosh Triplett <josh@joshtriplett.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d6d67e72
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -65,6 +65,20 @@ config CORE_DUMP_DEFAULT_ELF_HEADERS
	  This config option changes the default setting of coredump_filter
	  seen at boot time.  If unsure, say Y.

config BINFMT_SCRIPT
	tristate "Kernel support for scripts starting with #!"
	default y
	help
	  Say Y here if you want to execute interpreted scripts starting with
	  #! followed by the path to an interpreter.

	  You can build this support as a module; however, until that module
	  gets loaded, you cannot run scripts.  Thus, if you want to load this
	  module from an initramfs, the portion of the initramfs before loading
	  this module must consist of compiled binaries only.

	  Most systems will not boot if you say M or N here.  If unsure, say Y.

config BINFMT_FLAT
	bool "Kernel support for flat binaries"
	depends on !MMU && (!FRV || BROKEN)
+1 −4
Original line number Diff line number Diff line
@@ -34,10 +34,7 @@ obj-$(CONFIG_COMPAT) += compat.o compat_ioctl.o
obj-$(CONFIG_BINFMT_AOUT)	+= binfmt_aout.o
obj-$(CONFIG_BINFMT_EM86)	+= binfmt_em86.o
obj-$(CONFIG_BINFMT_MISC)	+= binfmt_misc.o

# binfmt_script is always there
obj-y				+= binfmt_script.o

obj-$(CONFIG_BINFMT_SCRIPT)	+= binfmt_script.o
obj-$(CONFIG_BINFMT_ELF)	+= binfmt_elf.o
obj-$(CONFIG_COMPAT_BINFMT_ELF)	+= compat_binfmt_elf.o
obj-$(CONFIG_BINFMT_ELF_FDPIC)	+= binfmt_elf_fdpic.o