[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <80814c1eac9d8dda424d6c96652bd13d0ea30726.camel@wdc.com>
Date: Mon, 30 Jul 2018 13:42:13 +0000
From: Bart Van Assche <Bart.VanAssche@....com>
To: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-block@...r.kernel.org" <linux-block@...r.kernel.org>,
"jin.xiao@...el.com" <jin.xiao@...el.com>,
"axboe@...nel.dk" <axboe@...nel.dk>
CC: "yanmin.zhang@...el.com" <yanmin.zhang@...el.com>,
"tom.leiming@...il.com" <tom.leiming@...il.com>,
"stable@...r.kernel.org" <stable@...r.kernel.org>,
"ming.lei@...hat.com" <ming.lei@...hat.com>
Subject: Re: [PATCH] block: blk_init_allocated_queue() set q->fq as NULL in
the fail case
On Mon, 2018-07-30 at 14:11 +0800, xiao jin wrote:
> We find the memory use-after-free issue in __blk_drain_queue()
> on the kernel 4.14. After read the latest kernel 4.18-rc6 we
> think it has the same problem.
>
> Memory is allocated for q->fq in the blk_init_allocated_queue().
> If the elevator init function called with error return, it will
> run into the fail case to free the q->fq.
>
> Then the __blk_drain_queue() uses the same memory after the free
> of the q->fq, it will lead to the unpredictable event.
>
> The patch is to set q->fq as NULL in the fail case of
> blk_init_allocated_queue().
Reviewed-by: Bart Van Assche <bart.vanassche@....com>
Powered by blists - more mailing lists