From c42e53443864b351b7c1353e5d8c38686dc07423 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Fri, 31 Oct 2008 22:39:46 +0100 Subject: [PATCH] --- yaml --- r: 119723 b: refs/heads/master c: 1c925604e1038c7c65b91a92d14dc972b3a70a97 h: refs/heads/master i: 119721: 5194e52ba8d87d5a29e82d31ffcf08ba13ef5fe2 119719: 24d7de6ca061ccf4a8e9bac42da5d5ac3397ef91 v: v3 --- [refs] | 2 +- trunk/block/compat_ioctl.c | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index ee5be4dc0028..3e718d1f6412 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 50c396d38c1a7f0c693579ec88cb4be3c0b0645e +refs/heads/master: 1c925604e1038c7c65b91a92d14dc972b3a70a97 diff --git a/trunk/block/compat_ioctl.c b/trunk/block/compat_ioctl.c index 3d3e7a46f38c..d43e6087badc 100644 --- a/trunk/block/compat_ioctl.c +++ b/trunk/block/compat_ioctl.c @@ -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 */