""" ... the pthread1 test triggers a lockdep warning "BUG: spinlock wrong CPU on CPU#4, pthread1/25906" ... """ (Reported by Nathan Lynch) This patch moves put_files_struct() outside the spinlock. Signed-off-by: Oren Laadan <orenl@xxxxxxxxxxxxxxx> --- checkpoint/files.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/checkpoint/files.c b/checkpoint/files.c index 2859cf9..55c5eb3 100644 --- a/checkpoint/files.c +++ b/checkpoint/files.c @@ -921,11 +921,15 @@ int restore_obj_file_table(struct ckpt_ctx *ctx, int files_objref) return PTR_ERR(files); if (files != current->files) { + struct files_struct *prev; + task_lock(current); - put_files_struct(current->files); + prev = current->files; current->files = files; - task_unlock(current); atomic_inc(&files->count); + task_unlock(current); + + put_files_struct(prev); } return 0; -- 1.6.3.3 _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers