Re: [PATCH] sysfs: differentiate between locking links and non-links

From: Tejun Heo
Date: Wed Feb 10 2010 - 18:51:51 EST


Hello, Eric.

On 02/11/2010 03:25 AM, Eric W. Biederman wrote:
>> Maybe I'm glossly misunderstanding it but wouldn't embedding struct
>> lockdep_map into sysfs_node as in work_struct do the trick?
>
> In lockdep_init_map there is the following check:
>
> /*
> * Sanity check, the lock-class key must be persistent:
> */
> if (!static_obj(key)) {
> printk("BUG: key %p not in .data!\n", key);
> DEBUG_LOCKS_WARN_ON(1);
> return;
> }

Right, the lockdep_map is not the class, it's the lock instance.

> It needs playing with but I think we can embed something in struct
> attribute, and simply disallow dynamically allocated instances of
> struct attribute.

But I think something along this line would be the right way to do it,
instead of trying to mark up all the use cases manually. I'm pretty
sure if we start by giving separate classes to different sysfs types
(by attr or by sysfs_ops) there will be far less special cases which
would need manual markups.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/