[PATCH] D34827: Add end-to-end tests for overflows of byval arguments.

Vitaly Buka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 12 15:39:24 PDT 2017


vitalybuka added a comment.

In https://reviews.llvm.org/D34827#807318, @morehouse wrote:

> The byval attribute is avoided and instead the caller produces a copy of the struct and passes a pointer to it.  So foo() can't do any poisoning to its argument for UAR, and instead main() would have to do it.  However, ASAN currently does not handle this case.   I would suspect that most of the test failures on other architectures are being caused by this same issue.


In this case I'd expect compiler creates llvm.lifetime.start/end and this detected as UAS bug


Repository:
  rL LLVM

https://reviews.llvm.org/D34827





More information about the llvm-commits mailing list