mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 21:22:09 -04:00
Merge "soc: qcom: Add check to handle out of bound access"
This commit is contained in:
commit
a09e83797e
1 changed files with 14 additions and 3 deletions
|
|
@ -252,6 +252,7 @@ EXPORT_SYMBOL(msm_minidump_update_region);
|
|||
int msm_minidump_add_region(const struct md_region *entry)
|
||||
{
|
||||
u32 entries;
|
||||
u32 toc_init;
|
||||
struct md_region *mdr;
|
||||
unsigned long flags;
|
||||
|
||||
|
|
@ -272,6 +273,18 @@ int msm_minidump_add_region(const struct md_region *entry)
|
|||
return -ENOMEM;
|
||||
}
|
||||
|
||||
toc_init = 0;
|
||||
if (minidump_table.md_ss_toc &&
|
||||
(minidump_table.md_ss_toc->md_ss_enable_status ==
|
||||
MD_SS_ENABLED)) {
|
||||
toc_init = 1;
|
||||
if (minidump_table.md_ss_toc->ss_region_count >= MAX_NUM_ENTRIES) {
|
||||
spin_unlock_irqrestore(&mdt_lock, flags);
|
||||
pr_err("Maximum regions in minidump table reached.\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
}
|
||||
|
||||
mdr = &minidump_table.entry[entries];
|
||||
strlcpy(mdr->name, entry->name, sizeof(mdr->name));
|
||||
mdr->virt_addr = entry->virt_addr;
|
||||
|
|
@ -281,9 +294,7 @@ int msm_minidump_add_region(const struct md_region *entry)
|
|||
|
||||
minidump_table.num_regions = entries + 1;
|
||||
|
||||
if (minidump_table.md_ss_toc &&
|
||||
(minidump_table.md_ss_toc->md_ss_enable_status ==
|
||||
MD_SS_ENABLED))
|
||||
if (toc_init)
|
||||
md_update_ss_toc(entry);
|
||||
else
|
||||
pendings++;
|
||||
|
|
|
|||
Loading…
Reference in a new issue