diff options
| author | Chris Wright <chrisw@sous-sol.org> | 2010-05-12 18:28:57 -0700 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-21 09:37:31 -0700 | 
| commit | 2c3c8bea608866d8bd9dcf92657d57fdcac011c5 (patch) | |
| tree | f509b958d0a65c46c831dbdd447a81e706dd995a /drivers/misc/eeprom | |
| parent | 68d75ed4b84a0806ecd4bc14da4759713b23a532 (diff) | |
sysfs: add struct file* to bin_attr callbacks
This allows bin_attr->read,write,mmap callbacks to check file specific data
(such as inode owner) as part of any privilege validation.
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/misc/eeprom')
| -rw-r--r-- | drivers/misc/eeprom/at24.c | 6 | ||||
| -rw-r--r-- | drivers/misc/eeprom/at25.c | 6 | ||||
| -rw-r--r-- | drivers/misc/eeprom/eeprom.c | 3 | ||||
| -rw-r--r-- | drivers/misc/eeprom/max6875.c | 2 | 
4 files changed, 11 insertions, 6 deletions
| diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index db7d0f21b65d..a79a62f75481 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -274,7 +274,8 @@ static ssize_t at24_read(struct at24_data *at24,  	return retval;  } -static ssize_t at24_bin_read(struct kobject *kobj, struct bin_attribute *attr, +static ssize_t at24_bin_read(struct file *filp, struct kobject *kobj, +		struct bin_attribute *attr,  		char *buf, loff_t off, size_t count)  {  	struct at24_data *at24; @@ -395,7 +396,8 @@ static ssize_t at24_write(struct at24_data *at24, const char *buf, loff_t off,  	return retval;  } -static ssize_t at24_bin_write(struct kobject *kobj, struct bin_attribute *attr, +static ssize_t at24_bin_write(struct file *filp, struct kobject *kobj, +		struct bin_attribute *attr,  		char *buf, loff_t off, size_t count)  {  	struct at24_data *at24; diff --git a/drivers/misc/eeprom/at25.c b/drivers/misc/eeprom/at25.c index d194212a41f6..c627e4174ccd 100644 --- a/drivers/misc/eeprom/at25.c +++ b/drivers/misc/eeprom/at25.c @@ -126,7 +126,8 @@ at25_ee_read(  }  static ssize_t -at25_bin_read(struct kobject *kobj, struct bin_attribute *bin_attr, +at25_bin_read(struct file *filp, struct kobject *kobj, +	      struct bin_attribute *bin_attr,  	      char *buf, loff_t off, size_t count)  {  	struct device		*dev; @@ -253,7 +254,8 @@ at25_ee_write(struct at25_data *at25, const char *buf, loff_t off,  }  static ssize_t -at25_bin_write(struct kobject *kobj, struct bin_attribute *bin_attr, +at25_bin_write(struct file *filp, struct kobject *kobj, +	       struct bin_attribute *bin_attr,  	       char *buf, loff_t off, size_t count)  {  	struct device		*dev; diff --git a/drivers/misc/eeprom/eeprom.c b/drivers/misc/eeprom/eeprom.c index e306a8cd2f96..45060ddc4e59 100644 --- a/drivers/misc/eeprom/eeprom.c +++ b/drivers/misc/eeprom/eeprom.c @@ -81,7 +81,8 @@ exit:  	mutex_unlock(&data->update_lock);  } -static ssize_t eeprom_read(struct kobject *kobj, struct bin_attribute *bin_attr, +static ssize_t eeprom_read(struct file *filp, struct kobject *kobj, +			   struct bin_attribute *bin_attr,  			   char *buf, loff_t off, size_t count)  {  	struct i2c_client *client = to_i2c_client(container_of(kobj, struct device, kobj)); diff --git a/drivers/misc/eeprom/max6875.c b/drivers/misc/eeprom/max6875.c index fe2909278507..5653a3ce0517 100644 --- a/drivers/misc/eeprom/max6875.c +++ b/drivers/misc/eeprom/max6875.c @@ -107,7 +107,7 @@ exit_up:  	mutex_unlock(&data->update_lock);  } -static ssize_t max6875_read(struct kobject *kobj, +static ssize_t max6875_read(struct file *filp, struct kobject *kobj,  			    struct bin_attribute *bin_attr,  			    char *buf, loff_t off, size_t count)  { | 
