summaryrefslogtreecommitdiffstats
path: root/lib/libcxx/src/filesystem/operations.cpp
diff options
context:
space:
mode:
authorvisa <visa@openbsd.org>2019-02-02 14:34:09 +0000
committervisa <visa@openbsd.org>2019-02-02 14:34:09 +0000
commit010f0b318512a5835f057e38c7005ad0e63579c5 (patch)
treee9877458768e44a5997d8615658ff3a90e163b7f /lib/libcxx/src/filesystem/operations.cpp
parentImprove stack trace saving on amd64: (diff)
downloadwireguard-openbsd-010f0b318512a5835f057e38c7005ad0e63579c5.tar.xz
wireguard-openbsd-010f0b318512a5835f057e38c7005ad0e63579c5.zip
Improve stack trace saving on i386:
* Replace unnecessary use of db_get_value() with direct access of f_retaddr. The trace function assumes that the chain of frames is good in terms of alignment and content. * Replace the for loop with a while loop and drop the check "frame != NULL" from the loop condition. The check is redundant with the "!INKERNEL(frame)" condition. The code already assumes that the initial frame is valid. * Stop iteration if f_retaddr is a non-kernel address in order to not save a user address at the end of the trace. This additionally fixes a kernel crash that would happen if the user thread had a broken frame pointer. OK mpi@
Diffstat (limited to 'lib/libcxx/src/filesystem/operations.cpp')
0 files changed, 0 insertions, 0 deletions