|
@@ -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 */
|