staging: make new character devices nonseekable

As a preparation for changing the default behaviour of llseek to no_llseek,
every file_operations structure should have a .llseek operation.

There are three new instances in staging now, which can all be changed
into no_llseek explicitly since the devices do not need to seek.

Add nonseekable_open where appropriate, to prevent pread/pwrite as well.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Arnd Bergmann 2010-09-30 10:24:07 +02:00 committed by Greg Kroah-Hartman
parent cff55f50b8
commit d16044cf8c
3 changed files with 12 additions and 4 deletions

View File

@ -1,3 +1,5 @@
#include <linux/fs.h>
#include "headers.h"
/***************************************************************
* Function - bcm_char_open()
@ -35,6 +37,8 @@ static int bcm_char_open(struct inode *inode, struct file * filp)
/*Start Queuing the control response Packets*/
atomic_inc(&Adapter->ApplicationRunning);
nonseekable_open(inode, filp);
return 0;
}
static int bcm_char_release(struct inode *inode, struct file *filp)
@ -2360,6 +2364,7 @@ static struct file_operations bcm_fops = {
.release = bcm_char_release,
.read = bcm_char_read,
.unlocked_ioctl = bcm_char_ioctl,
.llseek = no_llseek,
};

View File

@ -163,6 +163,7 @@ static struct file_operations usbbcm_fops = {
.read = usbbcm_read,
.write = usbbcm_write,
.owner = THIS_MODULE,
.llseek = no_llseek,
};
static struct usb_class_driver usbbcm_class = {

View File

@ -81,10 +81,11 @@ int numofmsgbuf = 0;
//
static struct file_operations ft1000fops =
{
unlocked_ioctl: ft1000_ChIoctl,
poll: ft1000_ChPoll,
open: ft1000_ChOpen,
release: ft1000_ChRelease
.unlocked_ioctl = ft1000_ChIoctl,
.poll = ft1000_ChPoll,
.open = ft1000_ChOpen,
.release = ft1000_ChRelease,
.llseek = no_llseek,
};
@ -470,6 +471,7 @@ static int ft1000_ChOpen (struct inode *Inode, struct file *File)
File->private_data = pdevobj[num]->net;
nonseekable_open(Inode, File);
return 0;
}