Message ID | 1615315490-36017-1-git-send-email-bbhatt@codeaurora.org |
---|---|
State | Accepted |
Commit | 8de5ad99414347ad08e6ebc2260be1d2e009cb9a |
Headers | show |
Series | [v3] bus: mhi: core: Add missing checks for MMIO register entries | expand |
On 3/9/2021 11:44 AM, Bhaumik Bhatt wrote: > As per documentation, fields marked as (required) in an MHI > controller structure need to be populated by the controller driver > before calling mhi_register_controller(). Ensure all required > pointers and non-zero fields are present in the controller before > proceeding with the registration. > > Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org> > --- Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org>
On Tue, Mar 09, 2021 at 10:44:50AM -0800, Bhaumik Bhatt wrote: > As per documentation, fields marked as (required) in an MHI > controller structure need to be populated by the controller driver > before calling mhi_register_controller(). Ensure all required > pointers and non-zero fields are present in the controller before > proceeding with the registration. > > Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Thanks, Mani > --- > v3: removed fw_image as not all controllers require it > v2: removed iova_start and iova_stop as they can be zero > > drivers/bus/mhi/core/init.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c > index 272f350..d8882b3 100644 > --- a/drivers/bus/mhi/core/init.c > +++ b/drivers/bus/mhi/core/init.c > @@ -879,12 +879,10 @@ int mhi_register_controller(struct mhi_controller *mhi_cntrl, > u32 soc_info; > int ret, i; > > - if (!mhi_cntrl) > - return -EINVAL; > - > - if (!mhi_cntrl->runtime_get || !mhi_cntrl->runtime_put || > + if (!mhi_cntrl || !mhi_cntrl->cntrl_dev || !mhi_cntrl->regs || > + !mhi_cntrl->runtime_get || !mhi_cntrl->runtime_put || > !mhi_cntrl->status_cb || !mhi_cntrl->read_reg || > - !mhi_cntrl->write_reg || !mhi_cntrl->nr_irqs) > + !mhi_cntrl->write_reg || !mhi_cntrl->nr_irqs || !mhi_cntrl->irq) > return -EINVAL; > > ret = parse_config(mhi_cntrl, config); > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project >
On Tue, Mar 09, 2021 at 10:44:50AM -0800, Bhaumik Bhatt wrote: > As per documentation, fields marked as (required) in an MHI > controller structure need to be populated by the controller driver > before calling mhi_register_controller(). Ensure all required > pointers and non-zero fields are present in the controller before > proceeding with the registration. > > Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org> Applied to mhi-next! Thanks, Mani > --- > v3: removed fw_image as not all controllers require it > v2: removed iova_start and iova_stop as they can be zero > > drivers/bus/mhi/core/init.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c > index 272f350..d8882b3 100644 > --- a/drivers/bus/mhi/core/init.c > +++ b/drivers/bus/mhi/core/init.c > @@ -879,12 +879,10 @@ int mhi_register_controller(struct mhi_controller *mhi_cntrl, > u32 soc_info; > int ret, i; > > - if (!mhi_cntrl) > - return -EINVAL; > - > - if (!mhi_cntrl->runtime_get || !mhi_cntrl->runtime_put || > + if (!mhi_cntrl || !mhi_cntrl->cntrl_dev || !mhi_cntrl->regs || > + !mhi_cntrl->runtime_get || !mhi_cntrl->runtime_put || > !mhi_cntrl->status_cb || !mhi_cntrl->read_reg || > - !mhi_cntrl->write_reg || !mhi_cntrl->nr_irqs) > + !mhi_cntrl->write_reg || !mhi_cntrl->nr_irqs || !mhi_cntrl->irq) > return -EINVAL; > > ret = parse_config(mhi_cntrl, config); > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project >
Hello: This patch was applied to qcom/linux.git (refs/heads/for-next): On Tue, 9 Mar 2021 10:44:50 -0800 you wrote: > As per documentation, fields marked as (required) in an MHI > controller structure need to be populated by the controller driver > before calling mhi_register_controller(). Ensure all required > pointers and non-zero fields are present in the controller before > proceeding with the registration. > > Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org> > > [...] Here is the summary with links: - [v3] bus: mhi: core: Add missing checks for MMIO register entries https://git.kernel.org/qcom/c/8de5ad994143 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c index 272f350..d8882b3 100644 --- a/drivers/bus/mhi/core/init.c +++ b/drivers/bus/mhi/core/init.c @@ -879,12 +879,10 @@ int mhi_register_controller(struct mhi_controller *mhi_cntrl, u32 soc_info; int ret, i; - if (!mhi_cntrl) - return -EINVAL; - - if (!mhi_cntrl->runtime_get || !mhi_cntrl->runtime_put || + if (!mhi_cntrl || !mhi_cntrl->cntrl_dev || !mhi_cntrl->regs || + !mhi_cntrl->runtime_get || !mhi_cntrl->runtime_put || !mhi_cntrl->status_cb || !mhi_cntrl->read_reg || - !mhi_cntrl->write_reg || !mhi_cntrl->nr_irqs) + !mhi_cntrl->write_reg || !mhi_cntrl->nr_irqs || !mhi_cntrl->irq) return -EINVAL; ret = parse_config(mhi_cntrl, config);
As per documentation, fields marked as (required) in an MHI controller structure need to be populated by the controller driver before calling mhi_register_controller(). Ensure all required pointers and non-zero fields are present in the controller before proceeding with the registration. Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org> --- v3: removed fw_image as not all controllers require it v2: removed iova_start and iova_stop as they can be zero drivers/bus/mhi/core/init.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)