Skip to contentSkip to conversation

misc: genwqe: Fix potential memory leak when pinning memory

PATCH In review Christian Engelmayer 2 participants 2 messages Jan 25, 2014 – Jan 27, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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
index 8f8a6b3..2c2c9cc 100644
@@ -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
Acked-by on v1 1/1
#1 lore raw

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 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 +0 -0
index 8f8a6b3..2c2c9cc 100644

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.