In case ioremap fails, the fix returns -ENOMEM to avoid NULL
pointer dereference.
Signed-off-by: Kangjie Lu <[email protected]>
---
drivers/media/platform/davinci/vpss.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/media/platform/davinci/vpss.c b/drivers/media/platform/davinci/vpss.c
index 19cf6853411e..89a86c19579b 100644
--- a/drivers/media/platform/davinci/vpss.c
+++ b/drivers/media/platform/davinci/vpss.c
@@ -518,6 +518,11 @@ static int __init vpss_init(void)
return -EBUSY;
oper_cfg.vpss_regs_base2 = ioremap(VPSS_CLK_CTRL, 4);
+ if (unlikely(!oper_cfg.vpss_regs_base2)) {
+ release_mem_region(VPSS_CLK_CTRL, 4);
+ return -ENOMEM;
+ }
+
writel(VPSS_CLK_CTRL_VENCCLKEN |
VPSS_CLK_CTRL_DACCLKEN, oper_cfg.vpss_regs_base2);
--
2.17.1
Hi Kangjie,
Thanks for the patch.
On Sat, Mar 23, 2019 at 2:51 AM Kangjie Lu <[email protected]> wrote:
>
> In case ioremap fails, the fix returns -ENOMEM to avoid NULL
> pointer dereference.
>
> Signed-off-by: Kangjie Lu <[email protected]>
> ---
> drivers/media/platform/davinci/vpss.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
Acked-by: Lad, Prabhakar <[email protected]>
Cheers,
--Prabhakar Lad
> diff --git a/drivers/media/platform/davinci/vpss.c b/drivers/media/platform/davinci/vpss.c
> index 19cf6853411e..89a86c19579b 100644
> --- a/drivers/media/platform/davinci/vpss.c
> +++ b/drivers/media/platform/davinci/vpss.c
> @@ -518,6 +518,11 @@ static int __init vpss_init(void)
> return -EBUSY;
>
> oper_cfg.vpss_regs_base2 = ioremap(VPSS_CLK_CTRL, 4);
> + if (unlikely(!oper_cfg.vpss_regs_base2)) {
> + release_mem_region(VPSS_CLK_CTRL, 4);
> + return -ENOMEM;
> + }
> +
> writel(VPSS_CLK_CTRL_VENCCLKEN |
> VPSS_CLK_CTRL_DACCLKEN, oper_cfg.vpss_regs_base2);
>
> --
> 2.17.1
>
On 3/23/2019 8:21 AM, Kangjie Lu wrote:
> In case ioremap fails, the fix returns -ENOMEM to avoid NULL
> pointer dereference.
>
> Signed-off-by: Kangjie Lu <[email protected]>
Reviewed-by: Mukesh Ojha <[email protected]>
-Mukesh
> ---
> drivers/media/platform/davinci/vpss.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/media/platform/davinci/vpss.c b/drivers/media/platform/davinci/vpss.c
> index 19cf6853411e..89a86c19579b 100644
> --- a/drivers/media/platform/davinci/vpss.c
> +++ b/drivers/media/platform/davinci/vpss.c
> @@ -518,6 +518,11 @@ static int __init vpss_init(void)
> return -EBUSY;
>
> oper_cfg.vpss_regs_base2 = ioremap(VPSS_CLK_CTRL, 4);
> + if (unlikely(!oper_cfg.vpss_regs_base2)) {
> + release_mem_region(VPSS_CLK_CTRL, 4);
> + return -ENOMEM;
> + }
> +
> writel(VPSS_CLK_CTRL_VENCCLKEN |
> VPSS_CLK_CTRL_DACCLKEN, oper_cfg.vpss_regs_base2);
>