diff options
| author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2010-04-10 16:38:05 +0100 | 
|---|---|---|
| committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2010-04-10 16:51:14 +0200 | 
| commit | 3ac26b2ee30005930117fe6a180c139c5f300faf (patch) | |
| tree | 5064fa443c3a9e3b7eec7dd4b264b0eae28d5c77 /drivers/firewire/core-cdev.c | |
| parent | 5da3dac8d99c9933f12286fd73fa18e26f768bea (diff) | |
| download | olio-linux-3.10-3ac26b2ee30005930117fe6a180c139c5f300faf.tar.xz olio-linux-3.10-3ac26b2ee30005930117fe6a180c139c5f300faf.zip  | |
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/core-cdev.c')
| -rw-r--r-- | drivers/firewire/core-cdev.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/firewire/core-cdev.c b/drivers/firewire/core-cdev.c index 0d3df0927ef..9d1a1a1a83c 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)  	list_add_tail(&client->link, &device->client_list);  	mutex_unlock(&device->client_list_mutex); -	return 0; +	return nonseekable_open(inode, file);  }  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)  const struct file_operations fw_device_ops = {  	.owner		= THIS_MODULE, +	.llseek		= no_llseek,  	.open		= fw_device_op_open,  	.read		= fw_device_op_read,  	.unlocked_ioctl	= fw_device_op_ioctl, -	.poll		= fw_device_op_poll, -	.release	= fw_device_op_release,  	.mmap		= fw_device_op_mmap, - +	.release	= fw_device_op_release, +	.poll		= fw_device_op_poll,  #ifdef CONFIG_COMPAT  	.compat_ioctl	= fw_device_op_compat_ioctl,  #endif  |