diag: Fix possible access to freed variable

Mdlog structure member - hdlc timer is being accessed after
mdlog session is terminated.
This patch prevents the access to freed variable
by providing session_lock protection.

Change-Id: I1701e57fb4bbb751b76a4f24dc936ac22524e26c
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
This commit is contained in:
Manoj Prabhu B 2016-11-15 19:01:54 +05:30 committed by Gerrit - the friendly Code Review server
parent 9febdfdde0
commit a9a910d7d0

View file

@ -1275,6 +1275,7 @@ static uint8_t hdlc_reset;
static void hdlc_reset_timer_start(struct diag_md_session_t *info)
{
mutex_lock(&driver->md_session_lock);
if (!hdlc_timer_in_progress) {
hdlc_timer_in_progress = 1;
if (info)
@ -1284,6 +1285,7 @@ static void hdlc_reset_timer_start(struct diag_md_session_t *info)
mod_timer(&driver->hdlc_reset_timer,
jiffies + msecs_to_jiffies(200));
}
mutex_unlock(&driver->md_session_lock);
}
static void hdlc_reset_timer_func(unsigned long data)