Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb4d83f2 authored by Pi-Hsun Shih's avatar Pi-Hsun Shih Committed by Zhang Rui
Browse files

thermal: mtk: Allocate enough space for mtk_thermal.



The mtk_thermal struct contains a 'struct mtk_thermal_bank banks[];',
but the allocation only allocates sizeof(struct mtk_thermal) bytes,
which cause out of bound access with the ->banks[] member. Change it to
a fixed size array instead.

Signed-off-by: default avatarPi-Hsun Shih <pihsun@chromium.org>
Reviewed-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
parent e0fda737
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -199,6 +199,9 @@ enum {
#define MT7622_TS1	0
#define MT7622_NUM_CONTROLLER		1

/* The maximum number of banks */
#define MAX_NUM_ZONES		8

/* The calibration coefficient of sensor  */
#define MT7622_CALIBRATION	165

@@ -249,7 +252,7 @@ struct mtk_thermal_data {
	const int num_controller;
	const int *controller_offset;
	bool need_switch_bank;
	struct thermal_bank_cfg bank_data[];
	struct thermal_bank_cfg bank_data[MAX_NUM_ZONES];
};

struct mtk_thermal {
@@ -268,7 +271,7 @@ struct mtk_thermal {
	s32 vts[MAX_NUM_VTS];

	const struct mtk_thermal_data *conf;
	struct mtk_thermal_bank banks[];
	struct mtk_thermal_bank banks[MAX_NUM_ZONES];
};

/* MT8183 thermal sensor data */