mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 07:03:09 -04:00
soc: qcom: socinfo: Fix array out-of-bounds access
Socinfo driver's socinfo_get_id_string() does an array based indexing with the socid to get the entry for the current platform in soc_id[]. However, the soc_id[] is linearly mapped and not arranged to be indexed with the socid (unlike previous targets). This would cause an out-of-bounds array access in the soc_id[] array. Hence to fetch the name, rely on the already existing function, socinfo_machine(), which would iterate over the array and return a matching machine name for the id supplied. Change-Id: Ib7070732ac4ec99a32eb3f79c74abf2903398f53 Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
This commit is contained in:
parent
00cda3c5e7
commit
ba4aef7361
1 changed files with 13 additions and 13 deletions
|
|
@ -1163,20 +1163,6 @@ static void socinfo_print(void)
|
|||
}
|
||||
}
|
||||
|
||||
uint32_t socinfo_get_id(void)
|
||||
{
|
||||
return (socinfo) ? le32_to_cpu(socinfo->id) : 0;
|
||||
}
|
||||
EXPORT_SYMBOL(socinfo_get_id);
|
||||
|
||||
const char *socinfo_get_id_string(void)
|
||||
{
|
||||
uint32_t id = socinfo_get_id();
|
||||
|
||||
return (socinfo) ? soc_id[id].name : NULL;
|
||||
}
|
||||
EXPORT_SYMBOL(socinfo_get_id_string);
|
||||
|
||||
static const char *socinfo_machine(unsigned int id)
|
||||
{
|
||||
int idx;
|
||||
|
|
@ -1189,6 +1175,20 @@ static const char *socinfo_machine(unsigned int id)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
uint32_t socinfo_get_id(void)
|
||||
{
|
||||
return (socinfo) ? le32_to_cpu(socinfo->id) : 0;
|
||||
}
|
||||
EXPORT_SYMBOL(socinfo_get_id);
|
||||
|
||||
const char *socinfo_get_id_string(void)
|
||||
{
|
||||
uint32_t id = socinfo_get_id();
|
||||
|
||||
return socinfo_machine(id);
|
||||
}
|
||||
EXPORT_SYMBOL(socinfo_get_id_string);
|
||||
|
||||
static int qcom_socinfo_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct qcom_socinfo *qs;
|
||||
|
|
|
|||
Loading…
Reference in a new issue