All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: alokc@codeaurora.org, agross@kernel.org, david.brown@linaro.org,
	bjorn.andersson@linaro.org, balbi@kernel.org,
	gregkh@linuxfoundation.org, ard.biesheuvel@linaro.org,
	jlhugo@gmail.com, linux-arm-msm@vger.kernel.org,
	linux-usb@vger.kernel.org, felipe.balbi@linux.intel.com
Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Lee Jones <lee.jones@linaro.org>
Subject: [RESEND v4 4/4] usb: dwc3: qcom: Improve error handling
Date: Mon, 17 Jun 2019 13:51:05 +0100	[thread overview]
Message-ID: <20190617125105.6186-5-lee.jones@linaro.org> (raw)
In-Reply-To: <20190617125105.6186-1-lee.jones@linaro.org>

dwc3_qcom_clk_init() is called with of_count_phandle_with_args() as an
argument.  If of_count_phandle_with_args() returns an error, the number
of clocks will be a negative value and will lead to undefined behaviour.

Ensure we check for an error before attempting to blindly use the value.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---
 drivers/usb/dwc3/dwc3-qcom.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
index 2d050303d564..c59e9d8e8609 100644
--- a/drivers/usb/dwc3/dwc3-qcom.c
+++ b/drivers/usb/dwc3/dwc3-qcom.c
@@ -409,6 +409,9 @@ static int dwc3_qcom_clk_init(struct dwc3_qcom *qcom, int count)
 	if (!np || !count)
 		return 0;
 
+	if (count < 0)
+		return count;
+
 	qcom->num_clocks = count;
 
 	qcom->clks = devm_kcalloc(dev, qcom->num_clocks,
-- 
2.17.1


WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: alokc@codeaurora.org, agross@kernel.org, david.brown@linaro.org,
	bjorn.andersson@linaro.org, balbi@kernel.org,
	gregkh@linuxfoundation.org, ard.biesheuvel@linaro.org,
	jlhugo@gmail.com, linux-arm-msm@vger.kernel.org,
	linux-usb@vger.kernel.org, felipe.balbi@linux.intel.com
Cc: Lee Jones <lee.jones@linaro.org>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: [RESEND v4 4/4] usb: dwc3: qcom: Improve error handling
Date: Mon, 17 Jun 2019 13:51:05 +0100	[thread overview]
Message-ID: <20190617125105.6186-5-lee.jones@linaro.org> (raw)
In-Reply-To: <20190617125105.6186-1-lee.jones@linaro.org>

dwc3_qcom_clk_init() is called with of_count_phandle_with_args() as an
argument.  If of_count_phandle_with_args() returns an error, the number
of clocks will be a negative value and will lead to undefined behaviour.

Ensure we check for an error before attempting to blindly use the value.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---
 drivers/usb/dwc3/dwc3-qcom.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
index 2d050303d564..c59e9d8e8609 100644
--- a/drivers/usb/dwc3/dwc3-qcom.c
+++ b/drivers/usb/dwc3/dwc3-qcom.c
@@ -409,6 +409,9 @@ static int dwc3_qcom_clk_init(struct dwc3_qcom *qcom, int count)
 	if (!np || !count)
 		return 0;
 
+	if (count < 0)
+		return count;
+
 	qcom->num_clocks = count;
 
 	qcom->clks = devm_kcalloc(dev, qcom->num_clocks,
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-06-17 12:51 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-17 12:51 [RESEND v4 0/4] I2C: DWC3 USB: Add support for ACPI based AArch64 Laptops Lee Jones
2019-06-17 12:51 ` Lee Jones
2019-06-17 12:51 ` [RESEND v4 1/4] soc: qcom: geni: Add support for ACPI Lee Jones
2019-06-17 12:51   ` Lee Jones
2019-06-19  5:52   ` Andy Gross
2019-06-19  5:52     ` Andy Gross
2019-06-19  6:05     ` Lee Jones
2019-06-19  6:05       ` Lee Jones
2019-06-17 12:51 ` [RESEND v4 2/4] usb: dwc3: qcom: Add support for booting with ACPI Lee Jones
2019-06-17 12:51   ` Lee Jones
2019-06-17 12:51 ` [RESEND v4 3/4] usb: dwc3: qcom: Start USB in 'host mode' on the SDM845 Lee Jones
2019-06-17 12:51   ` Lee Jones
2019-06-17 12:51 ` Lee Jones [this message]
2019-06-17 12:51   ` [RESEND v4 4/4] usb: dwc3: qcom: Improve error handling Lee Jones
2019-06-17 12:55 ` [RESEND v4 0/4] I2C: DWC3 USB: Add support for ACPI based AArch64 Laptops Felipe Balbi
2019-06-17 12:55   ` Felipe Balbi
2019-06-17 13:23   ` Lee Jones
2019-06-17 13:23     ` Lee Jones
2019-06-18  7:23     ` Felipe Balbi
2019-06-18  7:23       ` Felipe Balbi
2019-06-18  8:08       ` Lee Jones
2019-06-18  8:08         ` Lee Jones
2019-06-18  8:44         ` Felipe Balbi
2019-06-18  8:44           ` Felipe Balbi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190617125105.6186-5-lee.jones@linaro.org \
    --to=lee.jones@linaro.org \
    --cc=agross@kernel.org \
    --cc=alokc@codeaurora.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=balbi@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=david.brown@linaro.org \
    --cc=felipe.balbi@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jlhugo@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.