[PATCH] D147975: [StackProtector] don't check stack protector before calling nounwind functions

LuoYuanke via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 11 18:00:50 PDT 2023


LuoYuanke added a comment.

For this case

  void caller () {
    int arr [42] = {};
    int (*callee)() = get_callback();
    vuln();
    callee(arr);
  }

If callee is not noreturn function, caller has a chance to check the canary when it returns.

As a tradeoff of security, code size and performance, I don't object to land the patch. I am curious about the noreturn function that is caught in your case. Could you show some examples of those noreturn function?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D147975/new/

https://reviews.llvm.org/D147975



More information about the llvm-commits mailing list