trusty: arm32: fix potential double fault when printing diagnostics

When dumping_mode_regs() on a fault, avoid printing the stack beyond the
current page.  This prevents exceeding the stack base and hitting a
guard page in the case the stack use is < 128 bytes.

Bug: 336957655
Test: crash test, observe double fault fixed
Change-Id: If49b5fe5e1651557d19bf18c4026224cfb038101
1 file changed
tree: cfe806a00bba8a841882ef926c90ed77b2157156
  1. app/
  2. arch/
  3. dev/
  4. external/
  5. hosttests/
  6. include/
  7. kernel/
  8. lib/
  9. make/
  10. platform/
  11. target/
  12. tools/
  13. top/
  14. .clang-format
  15. .gitignore
  16. build-config-kerneltests
  17. engine.mk
  18. kerneltests-inc.mk
  19. LICENSE
  20. lk_inc.mk.example
  21. makefile
  22. PREUPLOAD.cfg
  23. README.md
  24. rustfmt.toml
README.md

LK

The LK embedded kernel. An SMP-aware kernel designed for small systems.

See https://github.com/littlekernel/lk for the latest version.

See https://github.com/littlekernel/lk/wiki for documentation.

Builds

Build Status

To build and test for ARM on linux

  1. install or build qemu. v2.4 and above is recommended.
  2. install gcc for embedded arm (see note 1)
  3. run scripts/do-qemuarm (from the lk directory)
  4. you should see ‘welcome to lk/MP’

This will get you a interactive prompt into LK which is running in qemu arm machine ‘virt’ emulation. type ‘help’ for commands.

note 1: for ubuntu: sudo apt-get install gcc-arm-none-eabi or fetch a prebuilt toolchain from http://newos.org/toolchains/arm-eabi-5.3.0-Linux-x86_64.tar.xz