diff options
author | Yu Zhao <[email protected]> | 2023-01-15 20:44:05 -0700 |
---|---|---|
committer | Andrew Morton <[email protected]> | 2023-01-31 16:44:08 -0800 |
commit | de08eaa6156405f2e9369f06ba5afae0e4ab3b62 (patch) | |
tree | afecbef6ee74d6008b818560c1ded48f6002fcbd /scripts/gdb/linux/proc.py | |
parent | 55ab834a86a9934c4f17825c115f7dc16a89aae7 (diff) |
mm: multi-gen LRU: fix crash during cgroup migration
lru_gen_migrate_mm() assumes lru_gen_add_mm() runs prior to itself. This
isn't true for the following scenario:
CPU 1 CPU 2
clone()
cgroup_can_fork()
cgroup_procs_write()
cgroup_post_fork()
task_lock()
lru_gen_migrate_mm()
task_unlock()
task_lock()
lru_gen_add_mm()
task_unlock()
And when the above happens, kernel crashes because of linked list
corruption (mm_struct->lru_gen.list).
Link: https://lore.kernel.org/r/[email protected]/
Link: https://lkml.kernel.org/r/[email protected]
Fixes: bd74fdaea146 ("mm: multi-gen LRU: support page table walks")
Signed-off-by: Yu Zhao <[email protected]>
Reported-by: msizanoen <[email protected]>
Tested-by: msizanoen <[email protected]>
Cc: <[email protected]> [6.1+]
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/proc.py')
0 files changed, 0 insertions, 0 deletions