mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
s390/cio: derive cdev information only for IO-subchannels
[ Upstream commit0c3812c347] cdev->online for the purge function must not be checked for the non-IO subchannel type. Make sure that we are deriving the cdev only from sch-type SUBCHANNEL_TYPE_IO. Signed-off-by: Vineeth Vijayan <vneethv@linux.ibm.com> Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> Stable-dep-of:1b60741127("s390/cio: fix out-of-bounds access on cio_ignore free") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c64be93f1e
commit
c65cc56937
@@ -792,10 +792,13 @@ static int __unset_online(struct device *dev, void *data)
|
||||
{
|
||||
struct idset *set = data;
|
||||
struct subchannel *sch = to_subchannel(dev);
|
||||
struct ccw_device *cdev = sch_get_cdev(sch);
|
||||
struct ccw_device *cdev;
|
||||
|
||||
if (cdev && cdev->online)
|
||||
idset_sch_del(set, sch->schid);
|
||||
if (sch->st == SUBCHANNEL_TYPE_IO) {
|
||||
cdev = sch_get_cdev(sch);
|
||||
if (cdev && cdev->online)
|
||||
idset_sch_del(set, sch->schid);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user