[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[UNIKRAFT PATCH v6 0/3] lib/uksp: Introduce uksp library



Currently, we provide a basic implementation of stack smashing
protection that has a global value for all threads. The value
can be either be randomly initialized at boot or precompiled.

Changes since v1:
* We now use a choice based config option for the stack protector level.
* Since
the last version we added the regulat and strong stack protector
options.

Changes since v2:
* Renamed the library to uksp

Changes since v3:
* Added config option for constant value/random source for the canary.
* Updated the config
* Updated library title
* Moved uksp/stackprotector.h to uk/sp.h
* Added current stack pointer to the crash message


Changes since v4:
* rebased over staging
* removed STACKPROTECTOR_NONE
* removed type on license
* __stack_chk_guard is now a const, we use the DECONST macro to change
its value
* renamed INIT_STACK_CANARY to UKSP_INIT_CANARY
* ukarch_read_sp() is now used to get the sp
* fixed several typos
* moved makefile build flags to patch 1
* added added a comment on why do we use a macro for initialization

Changes since v5:
* Rebased on staging
* Added guards when including swrand.h

Vlad-Andrei BĂDOIU (78692) (3):
  lib/uksp: Introduce uksp library
  build: Add option to toggle the stack protection
  lib/ukboot: Initialize the canary value at boot

 Makefile.uk              |  5 +++-
 lib/Makefile.uk          |  1 +
 lib/ukboot/boot.c        | 11 ++++++++
 lib/uksp/Config.uk       | 46 +++++++++++++++++++++++++++++++
 lib/uksp/Makefile.uk     |  9 +++++++
 lib/uksp/exportsyms.uk   |  2 ++
 lib/uksp/include/uk/sp.h | 58 ++++++++++++++++++++++++++++++++++++++++
 lib/uksp/ssp.c           | 51 +++++++++++++++++++++++++++++++++++
 8 files changed, 182 insertions(+), 1 deletion(-)
 create mode 100644 lib/uksp/Config.uk
 create mode 100644 lib/uksp/Makefile.uk
 create mode 100644 lib/uksp/exportsyms.uk
 create mode 100644 lib/uksp/include/uk/sp.h
 create mode 100644 lib/uksp/ssp.c

-- 
2.25.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.