Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1461165 > unrolled thread

[PATCH 0/2] add missing calls to kfree

Started byQuentin Lambert <lambert.quentin@gmail.com>
First post2016-08-12 15:10 +0200
Last post2016-08-12 15:10 +0200
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/2] add missing calls to kfree Quentin Lambert <lambert.quentin@gmail.com> - 2016-08-12 15:10 +0200
    [PATCH 2/2] staging: rts5208/ms.c: add missing releases in mg_get_local_EKB and mg_get_ICV Quentin Lambert <lambert.quentin@gmail.com> - 2016-08-12 15:10 +0200

#1461165 — [PATCH 0/2] add missing calls to kfree

FromQuentin Lambert <lambert.quentin@gmail.com>
Date2016-08-12 15:10 +0200
Subject[PATCH 0/2] add missing calls to kfree
Message-ID<s5ke5-1K2-7@gated-at.bofh.it>
The first patch is a style fix, the second add calls to kfree.
The reason for me thinking that they are necessary is that every other branches
leading to an error return are jumping to the same destination.

---
 drivers/staging/rts5208/ms.c |   18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)
---

[toc] | [next] | [standalone]


#1461166 — [PATCH 2/2] staging: rts5208/ms.c: add missing releases in mg_get_local_EKB and mg_get_ICV

FromQuentin Lambert <lambert.quentin@gmail.com>
Date2016-08-12 15:10 +0200
Subject[PATCH 2/2] staging: rts5208/ms.c: add missing releases in mg_get_local_EKB and mg_get_ICV
Message-ID<s5knL-22z-23@gated-at.bofh.it>
In reply to#1461165
mg_get_local_EKB and mg_get_ICV used to return with an error code before
releasing all resources. This patch add a jump to the appropriate label
ensuring that the resources are properly released before returning.

This issue was found with Hector.

Signed-off-by: Quentin Lambert <lambert.quentin@gmail.com>
---
 drivers/staging/rts5208/ms.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

--- a/drivers/staging/rts5208/ms.c
+++ b/drivers/staging/rts5208/ms.c
@@ -4328,7 +4328,8 @@ int mg_get_local_EKB(struct scsi_cmnd *s
 		set_sense_type(chip, lun, SENSE_TYPE_MG_KEY_FAIL_NOT_AUTHEN);
 		rtsx_clear_ms_error(chip);
 		rtsx_trace(chip);
-		return STATUS_FAIL;
+		retval = STATUS_FAIL;
+		goto free_buffer;
 	}
 
 	bufflen = min_t(int, 1052, scsi_bufflen(srb));
@@ -4581,7 +4582,8 @@ int mg_get_ICV(struct scsi_cmnd *srb, st
 		set_sense_type(chip, lun, SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
 		rtsx_clear_ms_error(chip);
 		rtsx_trace(chip);
-		return STATUS_FAIL;
+		retval = STATUS_FAIL;
+		goto free_buffer;
 	}
 
 	bufflen = min_t(int, 1028, scsi_bufflen(srb));

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web