Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp776401ybe; Fri, 13 Sep 2019 06:13:50 -0700 (PDT) X-Google-Smtp-Source: APXvYqxHMuX7GSvbZoTvgWSPcWHkztj2O/J+PVrV4aahEZ29Z9pI41lKn8ENKc0j6ly+XZkowfXJ X-Received: by 2002:a17:906:57cc:: with SMTP id u12mr32046524ejr.170.1568380430839; Fri, 13 Sep 2019 06:13:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568380430; cv=none; d=google.com; s=arc-20160816; b=ej41oHIC1vdvCe9ekDHHQEi5tCNDGapzoDR9NZnMD/Mp4DWfAk9V6rMvJVgdk8mEM6 KFFga4rnlcmXc6VmESPpcsw3MxqIYMMndy3wiVH0QXWNQDyjoZou4DZ205A1NZXKSL0b mrv5avsSwtUaSJ2/Q5KaV8a+S9f7oV1b40qBqT1URK9Qo3em7Bx588RQ4Ai2njuOZU23 aIAqsIHC3LNJO+uSIY2C7dJl/uX4l52yoRCsCbtZPVZGEY0D3MHaFcPvuaoTjlWzMfgl Vh54FslWoM1YApW4FRFvTn45HQYWmmoDJPltmlybynb3AMUH2bVR5biAY/v+9ZuLJ7a+ g38g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=q1f6PtqKe14mbf4c8e9DNyhKNk0irSB3nLcn09IyM78=; b=AXpmS+KkZTocq4vT03jQkY7qYgLCPnrZJ1kMxHtMUBGnkDbQQw/HQSRHRgRLdozB9b b1PUdtIc423WbCPAEJ4Xs0l2EBWGTAeDExC96hFwucJ0mytL9auo2f57e0UUOdId2kKl RcqEK/vZ3PEM9Mspt+lyJRBtGTrM01t4ic8PsFYk5r+r0dIm46qD0SPFJIv87W/rIyDp c1jPM5kn+R7i1VCOLxGRCWWu1n4lhsPdb0MKWXkjbntLWopvvHcmaInUs70ipkTaqdZD vRnaW0yiHhAf2GMRnmGSATAvLf/BSxNTyzxMONQ4CLEy7aTMm0Rc/kHmw+GPNFEx06ME 3FtQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=o79nFIT0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h14si17512383edb.425.2019.09.13.06.13.26; Fri, 13 Sep 2019 06:13:50 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=o79nFIT0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388608AbfIMNJw (ORCPT + 99 others); Fri, 13 Sep 2019 09:09:52 -0400 Received: from mail.kernel.org ([198.145.29.99]:34548 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388579AbfIMNJu (ORCPT ); Fri, 13 Sep 2019 09:09:50 -0400 Received: from localhost (unknown [104.132.45.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id F1EC1206BB; Fri, 13 Sep 2019 13:09:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1568380190; bh=QrXK3JMoG6QA2Z3P6wUdIIr/jFFdmlem452gyj0jXfs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=o79nFIT0aEIMqEuF0uF0tb5zsm7qvRUSfCJqYOTZuG5vYBRhaDj3YeHVc7vHbIYyh Y2/RnOUBH7bwyR0EkSfJDywHKBwCOTUW5qJQejvKAcdew67S4BFgX2Llcrxbxrkiav 0MSJug5vqDqPXUvELec0mntEPXdchjVLGxgwkAyw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Takashi Iwai Subject: [PATCH 4.9 01/14] ALSA: hda - Fix potential endless loop at applying quirks Date: Fri, 13 Sep 2019 14:06:54 +0100 Message-Id: <20190913130441.238678810@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190913130440.264749443@linuxfoundation.org> References: <20190913130440.264749443@linuxfoundation.org> User-Agent: quilt/0.66 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Takashi Iwai commit 333f31436d3db19f4286f8862a00ea1d8d8420a1 upstream. Since the chained quirks via chained_before flag is applied before the depth check, it may lead to the endless recursive calls, when the chain were set up incorrectly. Fix it by moving the depth check at the beginning of the loop. Fixes: 1f57825077dc ("ALSA: hda - Add chained_before flag to the fixup entry") Cc: Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/pci/hda/hda_auto_parser.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/sound/pci/hda/hda_auto_parser.c +++ b/sound/pci/hda/hda_auto_parser.c @@ -827,6 +827,8 @@ static void apply_fixup(struct hda_codec while (id >= 0) { const struct hda_fixup *fix = codec->fixup_list + id; + if (++depth > 10) + break; if (fix->chained_before) apply_fixup(codec, fix->chain_id, action, depth + 1); @@ -866,8 +868,6 @@ static void apply_fixup(struct hda_codec } if (!fix->chained || fix->chained_before) break; - if (++depth > 10) - break; id = fix->chain_id; } }