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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
68d75ed4b8
commit
2c3c8bea60
@@ -96,7 +96,7 @@ static int w1_f2d_readblock(struct w1_slave *sl, int off, int count, char *buf)
|
||||
return -1;
|
||||
}
|
||||
|
||||
static ssize_t w1_f2d_read_bin(struct kobject *kobj,
|
||||
static ssize_t w1_f2d_read_bin(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr,
|
||||
char *buf, loff_t off, size_t count)
|
||||
{
|
||||
@@ -202,7 +202,7 @@ retry:
|
||||
return 0;
|
||||
}
|
||||
|
||||
static ssize_t w1_f2d_write_bin(struct kobject *kobj,
|
||||
static ssize_t w1_f2d_write_bin(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr,
|
||||
char *buf, loff_t off, size_t count)
|
||||
{
|
||||
|
||||
@@ -92,7 +92,7 @@ static int w1_f23_refresh_block(struct w1_slave *sl, struct w1_f23_data *data,
|
||||
}
|
||||
#endif /* CONFIG_W1_SLAVE_DS2433_CRC */
|
||||
|
||||
static ssize_t w1_f23_read_bin(struct kobject *kobj,
|
||||
static ssize_t w1_f23_read_bin(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr,
|
||||
char *buf, loff_t off, size_t count)
|
||||
{
|
||||
@@ -206,7 +206,7 @@ static int w1_f23_write(struct w1_slave *sl, int addr, int len, const u8 *data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static ssize_t w1_f23_write_bin(struct kobject *kobj,
|
||||
static ssize_t w1_f23_write_bin(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr,
|
||||
char *buf, loff_t off, size_t count)
|
||||
{
|
||||
|
||||
@@ -97,7 +97,7 @@ int w1_ds2760_recall_eeprom(struct device *dev, int addr)
|
||||
return w1_ds2760_eeprom_cmd(dev, addr, W1_DS2760_RECALL_DATA);
|
||||
}
|
||||
|
||||
static ssize_t w1_ds2760_read_bin(struct kobject *kobj,
|
||||
static ssize_t w1_ds2760_read_bin(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr,
|
||||
char *buf, loff_t off, size_t count)
|
||||
{
|
||||
|
||||
@@ -120,7 +120,7 @@ static struct device_attribute w1_slave_attr_id =
|
||||
|
||||
/* Default family */
|
||||
|
||||
static ssize_t w1_default_write(struct kobject *kobj,
|
||||
static ssize_t w1_default_write(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr,
|
||||
char *buf, loff_t off, size_t count)
|
||||
{
|
||||
@@ -139,7 +139,7 @@ out_up:
|
||||
return count;
|
||||
}
|
||||
|
||||
static ssize_t w1_default_read(struct kobject *kobj,
|
||||
static ssize_t w1_default_read(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr,
|
||||
char *buf, loff_t off, size_t count)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user