diff options
author | George Prekas <prekgeo@yahoo.com> | 2021-01-07 09:06:05 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-07 17:06:05 +0200 |
commit | b02780c41dbc5b28d265b5cf141c03c1a7383ef9 (patch) | |
tree | 2db66838922c30f3b1d62e6418777bb776551b81 /redis.conf | |
parent | ea930a352ca748c0fa49a1b2ee894ea92bc83b0e (diff) | |
download | redis-b02780c41dbc5b28d265b5cf141c03c1a7383ef9.tar.gz |
Add check for the MADV_FREE/fork arm64 Linux kernel bug (#8224)
Older arm64 Linux kernels have a bug that could lead to data corruption during
background save under the following scenario:
1) jemalloc uses MADV_FREE on a page,
2) jemalloc reuses and writes the page,
3) Redis forks the background save process, and
4) Linux performs page reclamation.
Under these conditions, Linux will reclaim the page wrongfully and the
background save process will read zeros when it tries to read the page.
The bug has been fixed in Linux with commit:
ff1712f953e27f0b0718762ec17d0adb15c9fd0b ("arm64: pgtable: Ensure dirty bit is
preserved across pte_wrprotect()")
This Commit adds an ignore-warnings config, when not found, redis will
print a warning and exit on startup (default behavior).
Co-authored-by: Oran Agra <oran@redislabs.com>
Diffstat (limited to 'redis.conf')
-rw-r--r-- | redis.conf | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/redis.conf b/redis.conf index 891bb1663..a5062fda9 100644 --- a/redis.conf +++ b/redis.conf @@ -1976,3 +1976,10 @@ jemalloc-bg-thread yes # # Set bgsave child process to cpu affinity 1,10,11 # bgsave_cpulist 1,10-11 + +# In some cases redis will emit warnings and even refuse to start if it detects +# that the system is in bad state, it is possible to suppress these warnings +# by setting the following config which takes a space delimited list of warnings +# to suppress +# +# ignore-warnings ARM64-COW-BUG |