Received: by 2002:a17:90a:88:0:0:0:0 with SMTP id a8csp9708pja; Fri, 22 Nov 2019 02:45:08 -0800 (PST) X-Google-Smtp-Source: APXvYqz7kzaOqc9pZGeuaXqzCNpkgc5TGNcBOx410j+RROE5XLcGQ7fScIpw2uBCCblj+SeOP3Nv X-Received: by 2002:a50:fb14:: with SMTP id d20mr219821edq.190.1574419508405; Fri, 22 Nov 2019 02:45:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574419508; cv=none; d=google.com; s=arc-20160816; b=WgMlSPmh8eJgB1tgOX2oPO0pEWuho0no2RVzpIWIbHwcJy62xipVHUd7uAookIrH4o 8FfxK8zUQdI/BfLH3IItBFgN3GP+iqNEEYDf8MY4N/XeIbO9EKPIc9Y+xJCPHwNFGrtV cicmbbK7iSqkVuemV3YSklkMvz1j6pl8gc1Pdhl5h4KOfMy2ii0/aCNPbyITCWk02vs8 JTeP3owjeOOY35QYOtb4bkA6EDIe6VB4PKjHAIaV2rse67TITdhav9MAg8X7kDXcWNwT 9YswrAqnfQukKrIEZ9PSEKAMiBkFPZm85fRTUVU2h7wxQObF9wujJVF89sLV/6Q3RJ2z xVfg== 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=xuqn5o6T9cYhINo9iGKwdRT5dINea98MdDnjWBS26no=; b=PHp73u8PJZLwXalh1Lgj7WxG7oHB/h3MvJGH908uNg8/CvKNaQrBc5mU2bmfIT/RHL LNxG3y0DS038JsBz7PL62Gmsta8hEw+sUP+J4Y3C6KkJVDa69uqVQO8uxy4Wu32hES1f 79diVBkDfJkOmyp2Xjlmm3L9mQa5smfqAqIhlw3tQdsLrdk/Bwl8ahbzrUJcesH+5Usw Ggx67T0x2xnDl7wQXQXlG/yewX47eddBT/VBN6yd4n3/gaehkD4Tzeyx8QeTuJqU4IYM 0KtoYYTmbDNk9lJI3LeQIYEPdQ5l2znJY4EC8FI77fbY+7p91TQiLWd3ScW2+6svIPUF Mrig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=sR5BkyLj; 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 o25si4008863eja.316.2019.11.22.02.44.42; Fri, 22 Nov 2019 02:45:08 -0800 (PST) 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=sR5BkyLj; 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 S1728123AbfKVKma (ORCPT + 99 others); Fri, 22 Nov 2019 05:42:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:47594 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727761AbfKVKm2 (ORCPT ); Fri, 22 Nov 2019 05:42:28 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 45D3B20707; Fri, 22 Nov 2019 10:42:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574419348; bh=kL6FU9R5156ffI4nRNa+Oy0TifVNeORlwgtnvFjve3M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sR5BkyLjA/Qzaq0SIwAMuphNje8TSUxXNXDzH9u1/FqaYv4ovm0I8Mx8nmlro6sQc VvUEKa9IpkM+V5ucJy/USUEW7imW58PqYWBX/9KDcW16Eo//PmWRMSbpTz52stPb0r XdL8R0BrCC7AqjRHGfKcaMlV/ucPXLDGklTb6zkw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Anton Vasilyev , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Sasha Levin Subject: [PATCH 4.9 082/222] serial: mxs-auart: Fix potential infinite loop Date: Fri, 22 Nov 2019 11:27:02 +0100 Message-Id: <20191122100909.371468340@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191122100830.874290814@linuxfoundation.org> References: <20191122100830.874290814@linuxfoundation.org> User-Agent: quilt/0.66 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: Anton Vasilyev [ Upstream commit 5963e8a3122471cadfe0eba41c4ceaeaa5c8bb4d ] On the error path of mxs_auart_request_gpio_irq() is performed backward iterating with index i of enum type. Underline enum type may be unsigned char. In this case check (--i >= 0) will be always true and error handling goes into infinite loop. The patch changes the check so that it is valid for signed and unsigned types. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Anton Vasilyev Acked-by: Uwe Kleine-König Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- drivers/tty/serial/mxs-auart.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/mxs-auart.c b/drivers/tty/serial/mxs-auart.c index 1d9d778828bae..515bf18c82943 100644 --- a/drivers/tty/serial/mxs-auart.c +++ b/drivers/tty/serial/mxs-auart.c @@ -1635,8 +1635,9 @@ static int mxs_auart_request_gpio_irq(struct mxs_auart_port *s) /* * If something went wrong, rollback. + * Be careful: i may be unsigned. */ - while (err && (--i >= 0)) + while (err && (i-- > 0)) if (irq[i] >= 0) free_irq(irq[i], s); -- 2.20.1