disp: msm: dsi: add check for invalid arguments in DSI clock control

Check against the max clk_type and clk_state enumerations before
to validate the type and state of DSI clocks to avoid Control
Flow Integrity issues.

Change-Id: Id53465c2b12debb1b356c0c91064eb017c2ca30d
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
This commit is contained in:
Satya Rama Aditya Pinapala
2020-03-09 11:49:31 -07:00
parent 13a29a2855
commit e6e39e8b94
2 changed files with 6 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
/* /*
* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
*/ */
#ifndef _DSI_CLK_H_ #ifndef _DSI_CLK_H_
@@ -264,8 +264,7 @@ int dsi_display_link_clk_force_update_ctrl(void *handle);
* *
* return: error code in case of failure or 0 for success. * return: error code in case of failure or 0 for success.
*/ */
int dsi_display_clk_ctrl(void *handle, int dsi_display_clk_ctrl(void *handle, u32 clk_type, u32 clk_state);
enum dsi_clk_type clk_type, enum dsi_clk_state clk_state);
/** /**
* dsi_clk_set_link_frequencies() - set frequencies for link clks * dsi_clk_set_link_frequencies() - set frequencies for link clks

View File

@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* /*
* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
*/ */
#include <linux/of.h> #include <linux/of.h>
@@ -1289,11 +1289,12 @@ int dsi_display_link_clk_force_update_ctrl(void *handle)
} }
int dsi_display_clk_ctrl(void *handle, int dsi_display_clk_ctrl(void *handle,
enum dsi_clk_type clk_type, enum dsi_clk_state clk_state) u32 clk_type, u32 clk_state)
{ {
int rc = 0; int rc = 0;
if (!handle) { if ((!handle) || (clk_type > DSI_ALL_CLKS) ||
(clk_state > DSI_CLK_EARLY_GATE)) {
DSI_ERR("Invalid arg\n"); DSI_ERR("Invalid arg\n");
return -EINVAL; return -EINVAL;
} }