Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca732e11 authored by Stefan Haberland's avatar Stefan Haberland Committed by Martin Schwidefsky
Browse files

s390/dasd: check blockdevice pointer before trying to sync blockdevice



If safe offline is called for a DASD alias device a null pointer is passed
to fsync_bdev. So check for existence of the blockdevice before calling
fsync_bdev.
Should not be a real world problem since safe offline for an alias device
does not make sense and fsync_bdev can deal with a NULL pointer which it
gets after successful NULL pointer dereferencing on s390.

Signed-off-by: default avatarStefan Haberland <sth@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 2202134e
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -3601,10 +3601,11 @@ int dasd_generic_set_offline(struct ccw_device *cdev)
		 * empty
		 */
		/* sync blockdev and partitions */
		if (device->block) {
			rc = fsync_bdev(device->block->bdev);
			if (rc != 0)
				goto interrupted;

		}
		/* schedule device tasklet and wait for completion */
		dasd_schedule_device_bh(device);
		rc = wait_event_interruptible(shutdown_waitq,