diff options
author | Gabriel Schulhof <gabriel.schulhof@intel.com> | 2019-10-09 15:50:21 -0700 |
---|---|---|
committer | Gabriel Schulhof <gabriel.schulhof@intel.com> | 2019-10-11 20:45:44 -0700 |
commit | 075c7ebeb5234b148566c2aed6511357b775c2f6 (patch) | |
tree | a99e669e73f94c783ef62706187bf65758434b31 | |
parent | 1447a79dc435578bffba32ead9b2ffa0425fc30a (diff) | |
download | android-node-v8-075c7ebeb5234b148566c2aed6511357b775c2f6.tar.gz android-node-v8-075c7ebeb5234b148566c2aed6511357b775c2f6.tar.bz2 android-node-v8-075c7ebeb5234b148566c2aed6511357b775c2f6.zip |
src: fix largepages regression
During the addition of macOS support for large pages, a `memcpy` ended
up under the wrong preprocessor directive. As a result, the newly
allocated large pages were not initialized with a copy of the text
section.
Thanks to Suresh Srinivas <suresh.srinivas@intel.com>!
PR-URL: https://github.com/nodejs/node/pull/29914
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
-rw-r--r-- | src/large_pages/node_large_page.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/large_pages/node_large_page.cc b/src/large_pages/node_large_page.cc index f6f5e72c28..220f71fa10 100644 --- a/src/large_pages/node_large_page.cc +++ b/src/large_pages/node_large_page.cc @@ -359,6 +359,7 @@ MoveTextRegionToLargePages(const text_region& r) { } return -1; } + memcpy(start, nmem, size); #elif defined(__FreeBSD__) tmem = mmap(start, size, PROT_READ | PROT_WRITE | PROT_EXEC, @@ -393,8 +394,6 @@ MoveTextRegionToLargePages(const text_region& r) { return -1; } memcpy(start, tmem, size); -#else - memcpy(start, nmem, size); #endif ret = mprotect(start, size, PROT_READ | PROT_EXEC); |