Skip to content

Commit 2b373bd

Browse files
author
Gabriel Schulhof
committed
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: nodejs#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>
1 parent 01de6c2 commit 2b373bd

1 file changed

Lines changed: 1 addition & 2 deletions

File tree

src/large_pages/node_large_page.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ MoveTextRegionToLargePages(const text_region& r) {
366366
}
367367
return -1;
368368
}
369+
memcpy(start, nmem, size);
369370
#elif defined(__FreeBSD__)
370371
tmem = mmap(start, size,
371372
PROT_READ | PROT_WRITE | PROT_EXEC,
@@ -400,8 +401,6 @@ MoveTextRegionToLargePages(const text_region& r) {
400401
return -1;
401402
}
402403
memcpy(start, tmem, size);
403-
#else
404-
memcpy(start, nmem, size);
405404
#endif
406405

407406
ret = mprotect(start, size, PROT_READ | PROT_EXEC);

0 commit comments

Comments
 (0)