mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
cfq-iosched: Fix null pointer dereference
NULL pointer dereference can happen in cfq_choose_cfqg() when there are no cfq groups to select other than the current serving group. Prevent this by adding a NULL check before dereferencing. Unable to handle kernel NULL pointer dereference at virtual address [<c02502cc>] (cfq_dispatch_requests+0x368/0x8c0) from [<c0243f30>] (blk_peek_request+0x220/0x25c) [<c0243f30>] (blk_peek_request+0x220/0x25c) from [<c0243f74>] (blk_fetch_request+0x8/0x1c) [<c0243f74>] (blk_fetch_request+0x8/0x1c) from [<c041cedc>] (mmc_queue_thread+0x58/0x120) [<c041cedc>] (mmc_queue_thread+0x58/0x120) from [<c00ad310>] (kthread+0x84/0x90) [<c00ad310>] (kthread+0x84/0x90) from [<c000eeac>] (kernel_thread_exit+0x0/0x8) CRs-Fixed: 416466 Change-Id: I1fab93a4334b53e1d7c5dcc8f93cff174bae0d5e Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
This commit is contained in:
parent
7c6ed19d8f
commit
c2cd220c90
1 changed files with 3 additions and 0 deletions
|
@ -2305,6 +2305,9 @@ static void cfq_choose_cfqg(struct cfq_data *cfqd)
|
||||||
{
|
{
|
||||||
struct cfq_group *cfqg = cfq_get_next_cfqg(cfqd);
|
struct cfq_group *cfqg = cfq_get_next_cfqg(cfqd);
|
||||||
|
|
||||||
|
if (!cfqg)
|
||||||
|
return;
|
||||||
|
|
||||||
cfqd->serving_group = cfqg;
|
cfqd->serving_group = cfqg;
|
||||||
|
|
||||||
/* Restore the workload type data */
|
/* Restore the workload type data */
|
||||||
|
|
Loading…
Reference in a new issue