aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2010-04-10 11:38:05 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2010-04-10 10:51:14 -0400
commit3ac26b2ee30005930117fe6a180c139c5f300faf (patch)
tree5064fa443c3a9e3b7eec7dd4b264b0eae28d5c77 /drivers/firewire
parent5da3dac8d99c9933f12286fd73fa18e26f768bea (diff)
firewire: cdev: mark char device files as not seekable
The <linux/firewire-cdev.h> character device file ABI (i.e. /dev/fw* character device file interface) does not make any use of lseek(), pread(), pwrite() (or any kind of write() at all). Use nonseekable_open() and, redundantly, set file_operations.llseek to no_llseek to remove any doubt whether the BKL-grabbing default_llseek handler is used. (Also shuffle file_operations initialization according to the order of handler definitions.) Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire')
-rw-r--r--drivers/firewire/core-cdev.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/firewire/core-cdev.c b/drivers/firewire/core-cdev.c
index 0d3df0927efc..9d1a1a1a83c9 100644
--- a/drivers/firewire/core-cdev.c
+++ b/drivers/firewire/core-cdev.c
@@ -226,7 +226,7 @@ static int fw_device_op_open(struct inode *inode, struct file *file)
226 list_add_tail(&client->link, &device->client_list); 226 list_add_tail(&client->link, &device->client_list);
227 mutex_unlock(&device->client_list_mutex); 227 mutex_unlock(&device->client_list_mutex);
228 228
229 return 0; 229 return nonseekable_open(inode, file);
230} 230}
231 231
232static void queue_event(struct client *client, struct event *event, 232static void queue_event(struct client *client, struct event *event,
@@ -1495,13 +1495,13 @@ static unsigned int fw_device_op_poll(struct file *file, poll_table * pt)
1495 1495
1496const struct file_operations fw_device_ops = { 1496const struct file_operations fw_device_ops = {
1497 .owner = THIS_MODULE, 1497 .owner = THIS_MODULE,
1498 .llseek = no_llseek,
1498 .open = fw_device_op_open, 1499 .open = fw_device_op_open,
1499 .read = fw_device_op_read, 1500 .read = fw_device_op_read,
1500 .unlocked_ioctl = fw_device_op_ioctl, 1501 .unlocked_ioctl = fw_device_op_ioctl,
1501 .poll = fw_device_op_poll,
1502 .release = fw_device_op_release,
1503 .mmap = fw_device_op_mmap, 1502 .mmap = fw_device_op_mmap,
1504 1503 .release = fw_device_op_release,
1504 .poll = fw_device_op_poll,
1505#ifdef CONFIG_COMPAT 1505#ifdef CONFIG_COMPAT
1506 .compat_ioctl = fw_device_op_compat_ioctl, 1506 .compat_ioctl = fw_device_op_compat_ioctl,
1507#endif 1507#endif