diff options
author | Nathan Fontenot <nfont@austin.ibm.com> | 2010-08-18 09:58:46 +0000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-09-02 10:07:38 +1000 |
commit | 93f68f1ef787d97ab688f78a01f446e85bb9a496 (patch) | |
tree | 48686ab3564991aba66e47f1a6048ff8a4cbe4c2 /arch/powerpc/platforms/pseries/kexec.c | |
parent | a28dec2f26013aad89446b1f708f948617bc28a2 (diff) |
powerpc/pseries: Correct rtas_data_buf locking in dlpar code
The dlpar code can cause a deadlock to occur when making the RTAS
configure-connector call. This occurs because we make kmalloc calls,
which can block, while parsing the rtas_data_buf and holding the
rtas_data_buf_lock. This an cause issues if someone else attempts
to grab the rtas_data_bug_lock.
This patch alleviates this issue by copying the contents of the rtas_data_buf
to a local buffer before parsing. This allows us to only hold the
rtas_data_buf_lock around the RTAS configure-connector calls.
Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/pseries/kexec.c')
0 files changed, 0 insertions, 0 deletions