From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932906AbcFUIGA (ORCPT ); Tue, 21 Jun 2016 04:06:00 -0400 Received: from mga02.intel.com ([134.134.136.20]:44928 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932858AbcFUIFp (ORCPT ); Tue, 21 Jun 2016 04:05:45 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,502,1459839600"; d="scan'208";a="1002115398" Date: Tue, 21 Jun 2016 10:58:33 +0300 From: Mika Westerberg To: Lv Zheng Cc: "Rafael J. Wysocki" , "Rafael J. Wysocki" , Len Brown , Lv Zheng , linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org Subject: Re: [PATCH v4 1/5] ACPICA: Namespace: Fix a regression that MLC support triggers dead lock in dynamic table loading Message-ID: <20160621075833.GU1739@lahna.fi.intel.com> References: <0e65135af51d94db0410c7059f3bc3a2300fc3b5> <6cce63a111c40ca70552b003ef5a70eb239afd6f.1466479787.git.lv.zheng@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6cce63a111c40ca70552b003ef5a70eb239afd6f.1466479787.git.lv.zheng@intel.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: Mutt/1.6.1 (2016-04-27) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 21, 2016 at 12:34:15PM +0800, Lv Zheng wrote: > The new MLC approach invokes MLC per-table basis. But the dynamic loading > support of this is incorrect because of the lock order: > acpi_ns_evaluate > acpi_ex_enter_intperter > acpi_ns_load_table (triggered by Load opcode) > acpi_ns_exec_module_code_list > acpi_ex_enter_intperter > The regression is introduced by the following commit: > Commit: 2785ce8d0da1cac9d8f78615e116cf929e9a9123 > ACPICA Commit: 071eff738c59eda1792ac24b3b688b61691d7e7c > Subject: ACPICA: Add per-table execution of module-level code > This patch fixes this regression by unlocking the interpreter lock before > invoking MLC. However the unlocking is done to the acpi_ns_load_table(), in > which, the interpreter lock should be locked by acpi_ns_parse_table() but > wasn't. Reported by Mika Westerberg. Fixed by Lv Zheng. > > Fixes: 2785ce8d0da1 ("ACPICA: Add per-table execution of module-level code") > Cc: Mika Westerberg > Reported-by: Mika Westerberg Now builds fine and fixes the hang, thanks :) Tested-by: Mika Westerberg