George Prekas 8ff0226361 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>
(cherry picked from commit b02780c41dbc5b28d265b5cf141c03c1a7383ef9)

in 6.0 this warning is ignored by default in order to avoid adding
regression, specifically for deployments that don't need persistence or
replication
2021-01-12 16:25:37 +02:00
..
2019-11-20 20:39:04 -05:00
2020-05-08 10:37:35 +02:00
2020-04-28 11:20:15 +02:00
2020-04-28 11:20:15 +02:00
2020-04-28 11:20:15 +02:00
2020-10-27 09:12:01 +02:00
2019-10-24 14:24:55 +03:00
2020-10-27 09:12:01 +02:00
2020-05-08 10:37:36 +02:00
2020-10-27 09:12:01 +02:00
2019-11-19 17:23:47 +08:00
2020-04-07 16:52:04 +02:00
2019-10-02 11:30:20 +02:00
2020-03-05 12:51:15 +01:00
2020-09-01 09:27:58 +03:00
2020-10-27 09:12:01 +02:00