Skip to contentSkip to conversation

concerns about sysfs_ops

DISCUSSION Louis Zhuang 2 participants 3 messages Jan 13, 2003 – Jan 14, 2003

lore
Share & tools
lore
#0 lore raw

Dear Mochel,
I found you removed off/count params in new sysfs_ops functions. That's
good change for show functions, but for store function, if you don't give the len of data, the chained xxx_store function has to assume or/and guess how long the data is. This might be a potential issue. So I suggest you add 'size_t count' in store function of sysfs_ops.

include/linux/sysfs.h: 1.21 1.22 louis 03/01/13 18:39:41 (modified, needs delta)

@@ -18,7 +18,7 @@

struct sysfs_ops {
ssize_t (*show)(struct kobject *, struct attribute *,char *);
- ssize_t (*store)(struct kobject *,struct attribute *,const char *);
+ ssize_t (*store)(struct kobject *,struct attribute *,const char *,
size_t count);
};

extern int

Yours truly,
Louis Zhuang
---------------
Fault Injection Test Harness Project
BK tree: http://fault-injection.bkbits.net/linux-2.5
Home Page: http://sf.net/projects/fault-injection

#1 lore raw
Quoted 11 lines · Louis Zhuang

Dear Mochel,
I found you removed off/count params in new sysfs_ops functions. That's
good change for show functions, but for store function, if you don't give the len of data, the chained xxx_store function has to assume or/and guess how long the data is. This might be a potential issue. So I suggest you add 'size_t count' in store function of sysfs_ops.

include/linux/sysfs.h: 1.21 1.22 louis 03/01/13 18:39:41 (modified, needs delta)

Review line 23

Quoted 7 lines
(quoted diff) +1 -1
@@ -18,7 +18,7 @@
 
 struct sysfs_ops {
 	ssize_t	(*show)(struct kobject *, struct attribute *,char *);
-	ssize_t	(*store)(struct kobject *,struct attribute *,const char *);
+	ssize_t	(*store)(struct kobject *,struct attribute *,const char *,
 size_t count);
 };

I agree, and Linus pointed out that obvious flaw in the interface when I sent it to him on Friday. I'll fixing that, and should up in his tree later today..

-pat