Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1370896 > unrolled thread
| Started by | Han Xu <han.xu@nxp.com> |
|---|---|
| First post | 2016-04-04 23:00 +0200 |
| Last post | 2016-04-05 17:50 +0200 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] mtd: gpmi: fix raw_buffer pointer double free issue Han Xu <han.xu@nxp.com> - 2016-04-04 23:00 +0200
Re: [PATCH] mtd: gpmi: fix raw_buffer pointer double free issue Richard Weinberger <richard@nod.at> - 2016-04-04 23:40 +0200
Re: [PATCH] mtd: gpmi: fix raw_buffer pointer double free issue Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-04-05 17:50 +0200
| From | Han Xu <han.xu@nxp.com> |
|---|---|
| Date | 2016-04-04 23:00 +0200 |
| Subject | [PATCH] mtd: gpmi: fix raw_buffer pointer double free issue |
| Message-ID | <rkjLk-pb-3@gated-at.bofh.it> |
fix the raw_buffer pointer double free issue found by coverify. CID 18344 (#2 of 2): Double free (USE_AFTER_FREE) 3. double_free: Calling gpmi_alloc_dma_buffer frees pointer this->raw_buffer which has already been freed Signed-off-by: Han Xu <han.xu@nxp.com> --- changes in v2: - add coverity check log --- drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c index 8122c69..dcb60b0 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c @@ -797,6 +797,7 @@ static void gpmi_free_dma_buffer(struct gpmi_nand_data *this) this->cmd_buffer = NULL; this->data_buffer_dma = NULL; + this->raw_buffer = NULL; this->page_buffer_virt = NULL; this->page_buffer_size = 0; } -- 1.9.1
[toc] | [next] | [standalone]
| From | Richard Weinberger <richard@nod.at> |
|---|---|
| Date | 2016-04-04 23:40 +0200 |
| Message-ID | <rkko2-VB-5@gated-at.bofh.it> |
| In reply to | #1370896 |
Am 04.04.2016 um 22:41 schrieb Han Xu: > fix the raw_buffer pointer double free issue found by coverify. > > CID 18344 (#2 of 2): Double free (USE_AFTER_FREE) > 3. double_free: Calling gpmi_alloc_dma_buffer frees pointer > this->raw_buffer which has already been freed > > Signed-off-by: Han Xu <han.xu@nxp.com> > --- > > changes in v2: > - add coverity check log > --- > drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > index 8122c69..dcb60b0 100644 > --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > @@ -797,6 +797,7 @@ static void gpmi_free_dma_buffer(struct gpmi_nand_data *this) > > this->cmd_buffer = NULL; > this->data_buffer_dma = NULL; > + this->raw_buffer = NULL; > this->page_buffer_virt = NULL; > this->page_buffer_size = 0; Reviewed-by: Richard Weinberger <richard@nod.at> Aside of that, the driver should IMHO be fixed to not call gpmi_free_dma_buffer() multiple times on the same buffer... Thanks, //richard
[toc] | [prev] | [next] | [standalone]
| From | Boris Brezillon <boris.brezillon@free-electrons.com> |
|---|---|
| Date | 2016-04-05 17:50 +0200 |
| Message-ID | <rkBoS-66v-21@gated-at.bofh.it> |
| In reply to | #1370896 |
On Mon, 4 Apr 2016 15:41:29 -0500 Han Xu <han.xu@nxp.com> wrote: > fix the raw_buffer pointer double free issue found by coverify. > > CID 18344 (#2 of 2): Double free (USE_AFTER_FREE) > 3. double_free: Calling gpmi_alloc_dma_buffer frees pointer > this->raw_buffer which has already been freed > > Signed-off-by: Han Xu <han.xu@nxp.com> Applied. Thanks, Boris > --- > > changes in v2: > - add coverity check log > --- > drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > index 8122c69..dcb60b0 100644 > --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c > @@ -797,6 +797,7 @@ static void gpmi_free_dma_buffer(struct gpmi_nand_data *this) > > this->cmd_buffer = NULL; > this->data_buffer_dma = NULL; > + this->raw_buffer = NULL; > this->page_buffer_virt = NULL; > this->page_buffer_size = 0; > } -- Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web