Commit 3ac26b2e authored by Stefan Richter's avatar Stefan Richter

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: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
parent 5da3dac8
...@@ -226,7 +226,7 @@ static int fw_device_op_open(struct inode *inode, struct file *file) ...@@ -226,7 +226,7 @@ static int fw_device_op_open(struct inode *inode, struct file *file)
list_add_tail(&client->link, &device->client_list); list_add_tail(&client->link, &device->client_list);
mutex_unlock(&device->client_list_mutex); mutex_unlock(&device->client_list_mutex);
return 0; return nonseekable_open(inode, file);
} }
static void queue_event(struct client *client, struct event *event, static 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,13 +1495,13 @@ static unsigned int fw_device_op_poll(struct file *file, poll_table * pt)
const struct file_operations fw_device_ops = { const struct file_operations fw_device_ops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.llseek = no_llseek,
.open = fw_device_op_open, .open = fw_device_op_open,
.read = fw_device_op_read, .read = fw_device_op_read,
.unlocked_ioctl = fw_device_op_ioctl, .unlocked_ioctl = fw_device_op_ioctl,
.poll = fw_device_op_poll,
.release = fw_device_op_release,
.mmap = fw_device_op_mmap, .mmap = fw_device_op_mmap,
.release = fw_device_op_release,
.poll = fw_device_op_poll,
#ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT
.compat_ioctl = fw_device_op_compat_ioctl, .compat_ioctl = fw_device_op_compat_ioctl,
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment