Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1461165 > unrolled thread
| Started by | Quentin Lambert <lambert.quentin@gmail.com> |
|---|---|
| First post | 2016-08-12 15:10 +0200 |
| Last post | 2016-08-12 15:10 +0200 |
| Articles | 2 — 1 participant |
Back to article view | Back to linux.kernel
[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
| From | Quentin Lambert <lambert.quentin@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Quentin Lambert <lambert.quentin@gmail.com> |
|---|---|
| Date | 2016-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