PKGBUILDs/extra/chromium/chromium-glib-2.24.patch
2017-01-27 00:46:15 +00:00

16 lines
685 B
Diff

--- a/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.orig 2017-01-05 20:50:56.329369189 +0000
+++ b/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp 2017-01-05 20:51:32.926099779 +0000
@@ -242,6 +242,12 @@
ASSERT(!(len & kSystemPageOffsetMask));
#if OS(POSIX)
int ret = madvise(addr, len, MADV_FREE);
+ if (ret != 0 && errno == EINVAL) {
+ // MADV_FREE only works on Linux 4.5+ . If request failed,
+ // retry with older MADV_DONTNEED . Note that MADV_FREE
+ // being defined at compile time doesn't imply runtime support.
+ ret = madvise(addr, len, MADV_DONTNEED);
+ }
RELEASE_ASSERT(!ret);
#else
setSystemPagesInaccessible(addr, len);