]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
firmware: qcom: scm: Ensure 'a0' status code is treated as signed
authorWill Deacon <will@kernel.org>
Mon, 4 Nov 2019 15:58:15 +0000 (15:58 +0000)
committerMarcelo Henrique Cerri <marcelo.cerri@canonical.com>
Fri, 17 Jan 2020 17:22:53 +0000 (14:22 -0300)
commite17c96a818d7005dc6d496ddc6f0c3b1a8c0e4b5
treeca878d1718f7a23e998e68843c3624bac0a05901
parent6dcee7e9cecf8abc5f637dee027f5c885bb3e02f
firmware: qcom: scm: Ensure 'a0' status code is treated as signed

BugLink: https://bugs.launchpad.net/bugs/1857158
commit ff34f3cce278a0982a7b66b1afaed6295141b1fc upstream.

The 'a0' member of 'struct arm_smccc_res' is declared as 'unsigned long',
however the Qualcomm SCM firmware interface driver expects to receive
negative error codes via this field, so ensure that it's cast to 'long'
before comparing to see if it is less than 0.

Cc: <stable@vger.kernel.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
drivers/firmware/qcom_scm-64.c