mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
[S390] cio: fix sanity checks in ccwgroup driver.
Some sanity checks in the ccw group driver test the output of container_of macros to be !NULL. Test the input parameters instead. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
40c9f9992b
commit
50f1548399
1 changed files with 12 additions and 4 deletions
|
@ -454,13 +454,17 @@ ccwgroup_remove (struct device *dev)
|
||||||
struct ccwgroup_device *gdev;
|
struct ccwgroup_device *gdev;
|
||||||
struct ccwgroup_driver *gdrv;
|
struct ccwgroup_driver *gdrv;
|
||||||
|
|
||||||
|
device_remove_file(dev, &dev_attr_online);
|
||||||
|
|
||||||
|
if (!dev->driver)
|
||||||
|
return 0;
|
||||||
|
|
||||||
gdev = to_ccwgroupdev(dev);
|
gdev = to_ccwgroupdev(dev);
|
||||||
gdrv = to_ccwgroupdrv(dev->driver);
|
gdrv = to_ccwgroupdrv(dev->driver);
|
||||||
|
|
||||||
device_remove_file(dev, &dev_attr_online);
|
if (gdrv->remove)
|
||||||
|
|
||||||
if (gdrv && gdrv->remove)
|
|
||||||
gdrv->remove(gdev);
|
gdrv->remove(gdev);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -469,9 +473,13 @@ static void ccwgroup_shutdown(struct device *dev)
|
||||||
struct ccwgroup_device *gdev;
|
struct ccwgroup_device *gdev;
|
||||||
struct ccwgroup_driver *gdrv;
|
struct ccwgroup_driver *gdrv;
|
||||||
|
|
||||||
|
if (!dev->driver)
|
||||||
|
return;
|
||||||
|
|
||||||
gdev = to_ccwgroupdev(dev);
|
gdev = to_ccwgroupdev(dev);
|
||||||
gdrv = to_ccwgroupdrv(dev->driver);
|
gdrv = to_ccwgroupdrv(dev->driver);
|
||||||
if (gdrv && gdrv->shutdown)
|
|
||||||
|
if (gdrv->shutdown)
|
||||||
gdrv->shutdown(gdev);
|
gdrv->shutdown(gdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue