freebsd-dev/stand
Andrew Turner 78da604641 Ensure we have a large enough stack for the lua loader
Lua has a few places where it allocates a large buffer on the stack. This
is normally fine, except there are a few places where there can be multiple
frames with this buffer. This can cause a stack overflow on some arm64 SoCs.

Fix this by allocating our own stack in loader.efi large enough for these
objects. The required size has been found by tracing how the stack pointer
changes in a virtual machine and found to be no larger than 50kB. A
larger stack is allocated to reduce the likelihood of overflow from future
changes.

Reviewed by:	kevans
Approved by:	re (kib)
Differential Revision:	https://reviews.freebsd.org/D16886
2018-08-27 11:14:49 +00:00
..
arm Go back to one loader.conf 2018-02-26 03:16:47 +00:00
arm64 No need to make objects here. 2018-04-27 22:15:18 +00:00
common Collapse zfsloader functionality back down into loader. 2018-07-20 05:17:37 +00:00
defaults Add microcode update configuration to the default loader.conf. 2018-08-13 17:14:06 +00:00
efi Ensure we have a large enough stack for the lua loader 2018-08-27 11:14:49 +00:00
fdt stand: fdt: Drop some write-only assignments/variables and leaked bits 2018-08-23 18:01:34 +00:00
ficl Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
ficl32
forth check-password.4th(8): Fix manual [in]accuracy 2018-06-24 19:29:29 +00:00
i386 loader: bios loader should allow to chain load a file 2018-08-22 10:04:42 +00:00
kshim A more definitions to kernel emulation shim in order to build stand/usb. 2018-02-07 18:50:36 +00:00
liblua MFV r337586: lua: Update to 5.3.5 2018-08-14 18:58:01 +00:00
liblua32 Add Lua as a scripting langauge to /boot/loader 2018-02-12 15:31:53 +00:00
libsa libsa: Add lshrdi3.c for powerpc* and mips 2018-08-19 14:48:32 +00:00
libsa32
lua lualoader: Fix override of module_path on loader prompt 2018-08-25 04:28:02 +00:00
man Improve formatting. 2018-08-15 11:39:13 +00:00
mips Don't use CCACHE for linking. 2018-06-27 19:29:15 +00:00
ofw Stop using ../zfs/libzfs.h but instead use libzfs.h. 2018-07-08 07:42:58 +00:00
powerpc bootprog_info is generated in vers.c. Move it's definition to 2018-06-14 06:41:33 +00:00
sparc64 Increase the size of the heap size available on sparc64 during 2018-08-22 14:33:57 +00:00
uboot ubldr: Bump heap size, 1MB -> 2MB 2018-08-01 20:08:20 +00:00
usb Move the stand/usb test loader into its own directory. 2018-02-07 19:20:59 +00:00
userboot Turn back the clock just a little: make userboot.so always be 4th 2018-08-19 18:18:19 +00:00
defs.mk stand: Flip the default interpreter to Lua 2018-08-19 14:26:33 +00:00
fdt.mk
ficl.mk Remove redundant defs.mk includes. They aren't needed. 2018-06-14 06:14:48 +00:00
loader.mk Create a loader for each interpreter for x86 BIOS and all EFI 2018-08-14 18:44:41 +00:00
lua.mk Do not include float interfaces when using libsa. 2018-02-23 04:04:25 +00:00
Makefile Move ZFS files into libsa 2018-07-08 07:42:49 +00:00
Makefile.amd64 Create LOADER_UBOOT, and LOADER_OFW. Move these options out of 2018-03-01 19:50:55 +00:00
Makefile.inc Minor flags cleanup 2017-12-02 00:06:58 +00:00
uboot.mk Unify metadata load files for arm, mips, powerpc, sparc64 2018-02-13 03:44:50 +00:00