int feature_ro; 
dasd_ioctl_format(struct block_device *bdev, int no, long args){	struct dasd_device *device;	struct format_data_t fdata;	int feature_ro;	if (!capable(CAP_SYS_ADMIN))		return -EACCES;	if (!args)		return -EINVAL;	/* fdata == NULL is no longer a valid arg to dasd_format ! */	device = bdev->bd_disk->private_data;	if (device == NULL)		return -ENODEV;	feature_ro = dasd_get_feature(device->cdev, DASD_FEATURE_READONLY);	if (feature_ro < 0)		return feature_ro;	if (feature_ro)		return -EROFS;	if (copy_from_user(&fdata, (void __user *) args,			   sizeof (struct format_data_t)))		return -EFAULT;	if (bdev != bdev->bd_contains) {		DEV_MESSAGE(KERN_WARNING, device, "%s",			    "Cannot low-level format a partition");		return -EINVAL;	}	return dasd_format(device, &fdata);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/c6eb7b7703ac4b3401b74f411c8c51ded214bf19/dasd_ioctl.c/buggy/drivers/s390/block/dasd_ioctl.c