mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-15 01:01:56 -04:00
qcacmn: Fix memory overrun issues in smartlog CE dump
Fix the memory over run by removing the extra "END" ascii print as it overruns the available memory. Tests Done: Ran Pollux_ACFG_MIPS_3Radio_Channel_Change_120s_Rev_1.0.0.0 for ~20hrs Ran PDT_Pollux_Reboot_Rev_1.0.0.1 for ~36hrs Change-Id: Id71fe8c95a41369f55d53ece043a0b00e62c5d4f
This commit is contained in:
parent
862541432b
commit
e6f2f9ad64
1 changed files with 1 additions and 12 deletions
|
|
@ -3092,7 +3092,6 @@ static uint8_t *hif_log_src_ce_dump(struct CE_ring_state *src_ring,
|
|||
len = sizeof(struct CE_ring_state);
|
||||
available_buf = buf_sz - (buf_cur - buf_init);
|
||||
if (available_buf < (len + GUARD_SPACE)) {
|
||||
snprintf(buf_cur, available_buf, "END");
|
||||
buf_cur = buf_init;
|
||||
}
|
||||
|
||||
|
|
@ -3110,8 +3109,6 @@ static uint8_t *hif_log_src_ce_dump(struct CE_ring_state *src_ring,
|
|||
+ LOG_ID_SZ + sizeof(skb_cp_len);
|
||||
available_buf = buf_sz - (buf_cur - buf_init);
|
||||
if (available_buf < (len + GUARD_SPACE)) {
|
||||
buf_cur += snprintf(buf_cur, available_buf,
|
||||
"END");
|
||||
buf_cur = buf_init;
|
||||
}
|
||||
qdf_mem_copy(buf_cur, src_desc,
|
||||
|
|
@ -3131,8 +3128,6 @@ static uint8_t *hif_log_src_ce_dump(struct CE_ring_state *src_ring,
|
|||
len = sizeof(struct CE_src_desc) + LOG_ID_SZ;
|
||||
available_buf = buf_sz - (buf_cur - buf_init);
|
||||
if (available_buf < (len + GUARD_SPACE)) {
|
||||
buf_cur += snprintf(buf_cur, available_buf,
|
||||
"END");
|
||||
buf_cur = buf_init;
|
||||
}
|
||||
qdf_mem_copy(buf_cur, src_desc,
|
||||
|
|
@ -3175,7 +3170,6 @@ static uint8_t *hif_log_dest_ce_dump(struct CE_ring_state *dest_ring,
|
|||
len = sizeof(struct CE_ring_state);
|
||||
available_buf = buf_sz - (buf_cur - buf_init);
|
||||
if (available_buf < (len + GUARD_SPACE)) {
|
||||
snprintf(buf_cur, available_buf, "END");
|
||||
buf_cur = buf_init;
|
||||
}
|
||||
|
||||
|
|
@ -3184,6 +3178,7 @@ static uint8_t *hif_log_dest_ce_dump(struct CE_ring_state *dest_ring,
|
|||
|
||||
for (entry = 0; entry < dest_ring->nentries; entry++) {
|
||||
dest_desc = CE_DEST_RING_TO_DESC(dest_ring_base, entry);
|
||||
|
||||
nbuf = dest_ring->per_transfer_context[entry];
|
||||
if (nbuf) {
|
||||
uint32_t skb_len = qdf_nbuf_len(nbuf);
|
||||
|
|
@ -3194,8 +3189,6 @@ static uint8_t *hif_log_dest_ce_dump(struct CE_ring_state *dest_ring,
|
|||
|
||||
available_buf = buf_sz - (buf_cur - buf_init);
|
||||
if (available_buf < (len + GUARD_SPACE)) {
|
||||
buf_cur += snprintf(buf_cur, available_buf,
|
||||
"END");
|
||||
buf_cur = buf_init;
|
||||
}
|
||||
|
||||
|
|
@ -3214,8 +3207,6 @@ static uint8_t *hif_log_dest_ce_dump(struct CE_ring_state *dest_ring,
|
|||
len = sizeof(struct CE_dest_desc) + LOG_ID_SZ;
|
||||
available_buf = buf_sz - (buf_cur - buf_init);
|
||||
if (available_buf < (len + GUARD_SPACE)) {
|
||||
buf_cur += snprintf(buf_cur, available_buf,
|
||||
"END");
|
||||
buf_cur = buf_init;
|
||||
}
|
||||
qdf_mem_copy(buf_cur, dest_desc,
|
||||
|
|
@ -3251,8 +3242,6 @@ uint8_t *hif_log_dump_ce(struct hif_softc *scn, uint8_t *buf_cur,
|
|||
} else if (dest_ring) {
|
||||
buf_cur = hif_log_dest_ce_dump(dest_ring, buf_cur,
|
||||
buf_init, buf_sz, skb_sz);
|
||||
} else {
|
||||
qdf_print("Cannot print Ring for Unused CE%d\n", ce);
|
||||
}
|
||||
|
||||
return buf_cur;
|
||||
|
|
|
|||
Loading…
Reference in a new issue