Re: [RFD driver-core] Lifetime problems of the current driver model

From: Cornelia Huck
Date: Sat Mar 31 2007 - 12:06:28 EST


On Sat, 31 Mar 2007 12:12:48 +0900,
Tejun Heo <htejun@xxxxxxxxx> wrote:

> > Hm, but as long as dk0 is registered, it can be looked up and someone
> > could get a reference on it.
>
> Yeah, exactly. That's why any getting any kobject reference backed by a
> module must be accompanied by try_module_get().
>
> int mydrv_get_dk(struct dk *dk)
> {
> rc = try_module_get(mydrv);
> if (rc)
> return rc;
> kobject_get(&dk->kobj);
> return 0;
> }

This works if the caller always knows which module to grab (I was
thinking about some tree-walking code).

> Exactly, in that case, module reference count must not be zero. You and
> I are saying the same thing. Why are we running in circle?

I hope we're not, it just makes one dizzy :)

I'll think some more about it...
-
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/