diff options
author | Michael Ernst <mernst@de.ibm.com> | 2008-01-26 08:10:51 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-01-26 08:11:05 -0500 |
commit | 808e48882316dd4a325cd1cc382516945edad77d (patch) | |
tree | c2d66a2342ab6ce50ce7772dd42533102a431d30 /drivers/s390/cio/cio.c | |
parent | 1a908c735aed44c8bbed303371202e416813b271 (diff) |
[S390] cio: memory leak in cio processing
Allocated kernel memory for locks is not freed in case of subchannel found
to be invalid.
Signed-off-by: Michael Ernst <mernst@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/cio.c')
-rw-r--r-- | drivers/s390/cio/cio.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index f16c15c13f6e..11f632f9db58 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c | |||
@@ -577,8 +577,11 @@ cio_validate_subchannel (struct subchannel *sch, struct subchannel_id schid) | |||
577 | } | 577 | } |
578 | 578 | ||
579 | /* Initialization for io subchannels. */ | 579 | /* Initialization for io subchannels. */ |
580 | if (!css_sch_is_valid(&sch->schib)) | 580 | if (!css_sch_is_valid(&sch->schib)) { |
581 | return -ENODEV; | 581 | err = -ENODEV; |
582 | goto out; | ||
583 | } | ||
584 | |||
582 | /* Devno is valid. */ | 585 | /* Devno is valid. */ |
583 | if (is_blacklisted (sch->schid.ssid, sch->schib.pmcw.dev)) { | 586 | if (is_blacklisted (sch->schid.ssid, sch->schib.pmcw.dev)) { |
584 | /* | 587 | /* |