diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-24 11:01:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-24 11:01:10 -0400 |
commit | f13771187b9423b824f32518319f6da85d819003 (patch) | |
tree | c431cf16c286065a302d5f3fb43fc1abac7e4047 /drivers/scsi/aacraid | |
parent | 15953654cc312429740fd58fb37a5a3d63a54376 (diff) | |
parent | 9f37af654fda88a8dcca74c785f6c20e52758866 (diff) |
Merge branch 'bkl/ioctl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing
* 'bkl/ioctl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:
uml: Pushdown the bkl from harddog_kern ioctl
sunrpc: Pushdown the bkl from sunrpc cache ioctl
sunrpc: Pushdown the bkl from ioctl
autofs4: Pushdown the bkl from ioctl
uml: Convert to unlocked_ioctls to remove implicit BKL
ncpfs: BKL ioctl pushdown
coda: Clean-up whitespace problems in pioctl.c
coda: BKL ioctl pushdown
drivers: Push down BKL into various drivers
isdn: Push down BKL into ioctl functions
scsi: Push down BKL into ioctl functions
dvb: Push down BKL into ioctl functions
smbfs: Push down BKL into ioctl function
coda/psdev: Remove BKL from ioctl function
um/mmapper: Remove BKL usage
sn_hwperf: Kill BKL usage
hfsplus: Push down BKL into ioctl function
Diffstat (limited to 'drivers/scsi/aacraid')
-rw-r--r-- | drivers/scsi/aacraid/linit.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index e9373a2d14fa..33898b61fdb5 100644 --- a/drivers/scsi/aacraid/linit.c +++ b/drivers/scsi/aacraid/linit.c | |||
@@ -705,12 +705,17 @@ static int aac_cfg_open(struct inode *inode, struct file *file) | |||
705 | * Bugs: Needs to handle hot plugging | 705 | * Bugs: Needs to handle hot plugging |
706 | */ | 706 | */ |
707 | 707 | ||
708 | static int aac_cfg_ioctl(struct inode *inode, struct file *file, | 708 | static long aac_cfg_ioctl(struct file *file, |
709 | unsigned int cmd, unsigned long arg) | 709 | unsigned int cmd, unsigned long arg) |
710 | { | 710 | { |
711 | int ret; | ||
711 | if (!capable(CAP_SYS_RAWIO)) | 712 | if (!capable(CAP_SYS_RAWIO)) |
712 | return -EPERM; | 713 | return -EPERM; |
713 | return aac_do_ioctl(file->private_data, cmd, (void __user *)arg); | 714 | lock_kernel(); |
715 | ret = aac_do_ioctl(file->private_data, cmd, (void __user *)arg); | ||
716 | unlock_kernel(); | ||
717 | |||
718 | return ret; | ||
714 | } | 719 | } |
715 | 720 | ||
716 | #ifdef CONFIG_COMPAT | 721 | #ifdef CONFIG_COMPAT |
@@ -1029,7 +1034,7 @@ ssize_t aac_get_serial_number(struct device *device, char *buf) | |||
1029 | 1034 | ||
1030 | static const struct file_operations aac_cfg_fops = { | 1035 | static const struct file_operations aac_cfg_fops = { |
1031 | .owner = THIS_MODULE, | 1036 | .owner = THIS_MODULE, |
1032 | .ioctl = aac_cfg_ioctl, | 1037 | .unlocked_ioctl = aac_cfg_ioctl, |
1033 | #ifdef CONFIG_COMPAT | 1038 | #ifdef CONFIG_COMPAT |
1034 | .compat_ioctl = aac_compat_cfg_ioctl, | 1039 | .compat_ioctl = aac_compat_cfg_ioctl, |
1035 | #endif | 1040 | #endif |