Skip to content
Snippets Groups Projects
  • Peter Collingbourne's avatar
    4d2986d8
    Protection against stack-based memory corruption errors using SafeStack: Clang... · 4d2986d8
    Peter Collingbourne authored
    Protection against stack-based memory corruption errors using SafeStack: Clang command line option and function attribute
    
    This patch adds the -fsanitize=safe-stack command line argument for clang,
    which enables the Safe Stack protection (see http://reviews.llvm.org/D6094
    for the detailed description of the Safe Stack).
    
    This patch is our implementation of the safe stack on top of Clang. The
    patches make the following changes:
    
    - Add -fsanitize=safe-stack and -fno-sanitize=safe-stack options to clang
      to control safe stack usage (the safe stack is disabled by default).
    
    - Add __attribute__((no_sanitize("safe-stack"))) attribute to clang that can be
      used to disable the safe stack for individual functions even when enabled
      globally.
    
    Original patch by Volodymyr Kuznetsov and others at the Dependable Systems
    Lab at EPFL; updates and upstreaming by myself.
    
    Differential Revision: http://reviews.llvm.org/D6095
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239762 91177308-0d34-0410-b5e6-96231b3b80d8
    4d2986d8
    History
    Protection against stack-based memory corruption errors using SafeStack: Clang...
    Peter Collingbourne authored
    Protection against stack-based memory corruption errors using SafeStack: Clang command line option and function attribute
    
    This patch adds the -fsanitize=safe-stack command line argument for clang,
    which enables the Safe Stack protection (see http://reviews.llvm.org/D6094
    for the detailed description of the Safe Stack).
    
    This patch is our implementation of the safe stack on top of Clang. The
    patches make the following changes:
    
    - Add -fsanitize=safe-stack and -fno-sanitize=safe-stack options to clang
      to control safe stack usage (the safe stack is disabled by default).
    
    - Add __attribute__((no_sanitize("safe-stack"))) attribute to clang that can be
      used to disable the safe stack for individual functions even when enabled
      globally.
    
    Original patch by Volodymyr Kuznetsov and others at the Dependable Systems
    Lab at EPFL; updates and upstreaming by myself.
    
    Differential Revision: http://reviews.llvm.org/D6095
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239762 91177308-0d34-0410-b5e6-96231b3b80d8
Code owners
Assign users and groups as approvers for specific file changes. Learn more.