From 808e48882316dd4a325cd1cc382516945edad77d Mon Sep 17 00:00:00 2001 From: Michael Ernst Date: Sat, 26 Jan 2008 14:10:51 +0100 Subject: [PATCH] [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 Signed-off-by: Martin Schwidefsky --- drivers/s390/cio/cio.c | 7 +++++-- 1 file 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) } /* Initialization for io subchannels. */ - if (!css_sch_is_valid(&sch->schib)) - return -ENODEV; + if (!css_sch_is_valid(&sch->schib)) { + err = -ENODEV; + goto out; + } + /* Devno is valid. */ if (is_blacklisted (sch->schid.ssid, sch->schib.pmcw.dev)) { /*