From patchwork Mon Nov 27 14:46:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geert Uytterhoeven X-Patchwork-Id: 841723 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3ylqPj4WwBz9sP9 for ; Tue, 28 Nov 2017 01:46:49 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752617AbdK0Oqh (ORCPT ); Mon, 27 Nov 2017 09:46:37 -0500 Received: from michel.telenet-ops.be ([195.130.137.88]:48004 "EHLO michel.telenet-ops.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752591AbdK0Oqg (ORCPT ); Mon, 27 Nov 2017 09:46:36 -0500 Received: from ayla.of.borg ([84.195.106.246]) by michel.telenet-ops.be with bizsmtp id f2ma1w00c5JzmfG062maAu; Mon, 27 Nov 2017 15:46:34 +0100 Received: from ramsan.of.borg ([192.168.97.29] helo=ramsan) by ayla.of.borg with esmtp (Exim 4.86_2) (envelope-from ) id 1eJKg6-0002LK-Cn; Mon, 27 Nov 2017 15:46:34 +0100 Received: from geert by ramsan with local (Exim 4.86_2) (envelope-from ) id 1eJKg6-00005y-CM; Mon, 27 Nov 2017 15:46:34 +0100 From: Geert Uytterhoeven To: Pantelis Antoniou , Rob Herring , Frank Rowand Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven Subject: [PATCH 1/2] of: overlay: Fix cleanup order in of_overlay_apply() Date: Mon, 27 Nov 2017 15:46:26 +0100 Message-Id: <1511793987-315-2-git-send-email-geert+renesas@glider.be> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1511793987-315-1-git-send-email-geert+renesas@glider.be> References: <1511793987-315-1-git-send-email-geert+renesas@glider.be> Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org The special overlay mutex is taken first, hence it should be released last in the error path. Fixes: f948d6d8b792bb90 ("of: overlay: avoid race condition between applying multiple overlays") Signed-off-by: Geert Uytterhoeven --- drivers/of/overlay.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c index c150abb9049d776d..3b7a3980ff50d6bf 100644 --- a/drivers/of/overlay.c +++ b/drivers/of/overlay.c @@ -760,14 +760,14 @@ int of_overlay_apply(struct device_node *tree, int *ovcs_id) goto out; -err_overlay_unlock: - of_overlay_mutex_unlock(); - err_free_overlay_changeset: free_overlay_changeset(ovcs); mutex_unlock(&of_mutex); +err_overlay_unlock: + of_overlay_mutex_unlock(); + out: pr_debug("%s() err=%d\n", __func__, ret);