Fix block dev compat ioctl handling
PATCH 1/1 Fix block dev compat ioctl handling
Commit 33c2dca4957bd0da3e1af7b96d0758d97e708ef6 (trim file propagation in block/compat_ioctl.c) removed the handling of some ioctls from compat_blkdev_driver_ioctl. That caused them to be rejected as unknown by the compat layer.
Signed-off-by Andreas Schwab <[email protected]>
Cc Al Viro <[email protected]>
---
block/compat_ioctl.c +23 -0
@@ -677,6 +677,29 @@ static int compat_blkdev_driver_ioctl(struct block_device *bdev, fmode_t mode,case DVD_WRITE_STRUCT :case DVD_AUTH : arg = (unsigned long )compat_ptr (arg); +/* These intepret arg as an unsigned long, not as a pointer, +* so we must not do compat_ptr() conversion. */ +case HDIO_SET_MULTCOUNT : +case HDIO_SET_UNMASKINTR : +case HDIO_SET_KEEPSETTINGS : +case HDIO_SET_32BIT : +case HDIO_SET_NOWERR : +case HDIO_SET_DMA : +case HDIO_SET_PIO_MODE : +case HDIO_SET_NICE : +case HDIO_SET_WCACHE : +case HDIO_SET_ACOUSTIC : +case HDIO_SET_BUSSTATE : +case HDIO_SET_ADDRESS : +case CDROMEJECT_SW : +case CDROM_SET_OPTIONS : +case CDROM_CLEAR_OPTIONS : +case CDROM_SELECT_SPEED : +case CDROM_SELECT_DISC : +case CDROM_MEDIA_CHANGED : +case CDROM_DRIVE_STATUS : +case CDROM_LOCKDOOR : +case CDROM_DEBUG :break ;default :/* unknown ioctl number */
Signature · 4 lines
Andreas Schwab, SuSE Labs, [email protected] SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."