summaryrefslogtreecommitdiff
path: root/arch/riscv
diff options
context:
space:
mode:
authorBaoquan He <bhe@redhat.com>2023-09-26 15:09:05 +0300
committerAndrew Morton <akpm@linux-foundation.org>2023-09-30 03:20:48 +0300
commite2a8f20dd8e9df695f736e51cd9115ae55be92d1 (patch)
tree035bcc68fdf06a1f68ba00281e5b228fdaadbf93 /arch/riscv
parentbbe246f875d064ecfb872fe4f66152e743dfd22d (diff)
downloadlinux-e2a8f20dd8e9df695f736e51cd9115ae55be92d1.tar.xz
Crash: add lock to serialize crash hotplug handling
Eric reported that handling corresponding crash hotplug event can be failed easily when many memory hotplug event are notified in a short period. They failed because failing to take __kexec_lock. ======= [ 78.714569] Fallback order for Node 0: 0 [ 78.714575] Built 1 zonelists, mobility grouping on. Total pages: 1817886 [ 78.717133] Policy zone: Normal [ 78.724423] crash hp: kexec_trylock() failed, elfcorehdr may be inaccurate [ 78.727207] crash hp: kexec_trylock() failed, elfcorehdr may be inaccurate [ 80.056643] PEFILE: Unsigned PE binary ======= The memory hotplug events are notified very quickly and very many, while the handling of crash hotplug is much slower relatively. So the atomic variable __kexec_lock and kexec_trylock() can't guarantee the serialization of crash hotplug handling. Here, add a new mutex lock __crash_hotplug_lock to serialize crash hotplug handling specifically. This doesn't impact the usage of __kexec_lock. Link: https://lkml.kernel.org/r/20230926120905.392903-1-bhe@redhat.com Fixes: 247262756121 ("crash: add generic infrastructure for crash hotplug support") Signed-off-by: Baoquan He <bhe@redhat.com> Tested-by: Eric DeVolder <eric.devolder@oracle.com> Reviewed-by: Eric DeVolder <eric.devolder@oracle.com> Reviewed-by: Valentin Schneider <vschneid@redhat.com> Cc: Sourabh Jain <sourabhjain@linux.ibm.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'arch/riscv')
0 files changed, 0 insertions, 0 deletions