Re: refcounting drivers' data structures used in sysfs buffers

Alan Stern
2007-03-08T16:02:25Z

On Thu, 8 Mar 2007, Oliver Neukum wrote:

> Hi,
>
> after a lightning bolt from high above I've been looking into refcounting
> the data structures drivers use to provide the data used to refill sysfs
> buffers. I've come to the following conclusion.
>
> 1. struct sysfs_buffer must have a struct kref * and probably a destructor
> pointer
> 2. drivers must be able to pass these pointers through an extended
> device_create_file()
> 3. Drivers must use refcounting if they want to use attributes
> 4. read/write/poll must do refcounting
>
> I am not sure where to store the pointers. struct sysfs_dirent() looks
> like the obvious choice. Comments?

Can you explain the reasoning that led to these conclusions? And what
exactly was your lightning bolt?

Alan Stern