Messages in this thread Patch in this message | | | Subject | [PATCH 03 of 12] random: use unlocked_ioctl | Date | Thu, 17 Jan 2008 20:33:45 -0600 | From | Matt Mackall <> |
| |
No locking actually needed.
Signed-off-by: Matt Mackall <mpm@selenic.com>
diff -r f814137b0bfc -r 6f8bed9c59f7 drivers/char/random.c --- a/drivers/char/random.c Thu Jan 17 20:25:23 2008 -0600 +++ b/drivers/char/random.c Thu Jan 17 20:25:23 2008 -0600 @@ -1063,8 +1063,7 @@ return (ssize_t)count; } -static int random_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static long random_ioctl(struct file *f, unsigned int cmd, unsigned long arg) { int size, ent_count; int __user *p = (int __user *)arg; @@ -1072,8 +1071,8 @@ switch (cmd) { case RNDGETENTCNT: - ent_count = input_pool.entropy_count; - if (put_user(ent_count, p)) + /* inherently racy, no point locking */ + if (put_user(input_pool.entropy_count, p)) return -EFAULT; return 0; case RNDADDTOENTCNT: @@ -1116,13 +1115,13 @@ .read = random_read, .write = random_write, .poll = random_poll, - .ioctl = random_ioctl, + .unlocked_ioctl = random_ioctl, }; const struct file_operations urandom_fops = { .read = urandom_read, .write = random_write, - .ioctl = random_ioctl, + .unlocked_ioctl = random_ioctl, }; /***************************************************************
| |