misc: genwqe: Fix potential memory leak when pinning memory
Subsystems (2)
PATCH 1/1 misc: genwqe: Fix potential memory leak when pinning memory
Fix a memory leak in the genwqe_pin_mem() error path as called by ioctl GENWQE_PIN_MEM. In case there is an error encountered when mapping memory, the already allocated dma_mapping struct needs to be freed correctly.
Detected by Coverity: CID 1162606.
--- drivers/misc/genwqe/card_dev.c | 1 + 1 file changed, 1 insertion(+)
drivers/misc/genwqe/card_dev.c +1 -0
@@ -787,6 +787,7 @@ static int genwqe_pin_mem(struct genwqe_file *cfile, struct genwqe_mem *m)if (rc !=0 ) {dev_err (&pci_dev->dev,"[%s] genwqe_user_vmap rc=%d\n" , __func__, rc); +kfree (dma_map);return rc; }
Signature · 1 line
1.8.3.2
Hi Christian,
Am Samstag, den 25.01.2014, 22:47 +0100 schrieb Christian Engelmayer:
Quoted 17 lines
Fix a memory leak in the
genwqe_pin_mem()error path as called by ioctlGENWQE_PIN_MEM. In case there is an error encountered when mapping memory, the already allocateddma_mappingstruct needs to be freed correctly.Detected by Coverity: CID 1162606.
Signed-off-by Christian Engelmayer <[email protected]>--- drivers/misc/genwqe/card_dev.c | 1 + 1 file changed, 1 insertion(+)drivers/misc/genwqe/card_dev.c +0
-0
drivers/misc/genwqe/card_dev.c static int genwqe_pin_mem(struct genwqe_file *cfile, struct genwqe_mem *m) · line 793
Quoted 7 lines
drivers/misc/genwqe/card_dev.c +1
-0@@ -787,6 +787,7 @@ static int genwqe_pin_mem(struct genwqe_file *cfile, struct genwqe_mem *m)if (rc !=0 ) {dev_err (&pci_dev->dev,"[%s] genwqe_user_vmap rc=%d\n" , __func__, rc); +kfree (dma_map);return rc; }
thanks for discovering and fixing the problem.