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

From: Tejun Heo
Date: Sat Mar 31 2007 - 12:14:43 EST


Cornelia Huck wrote:
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).

Yeah, that's why we have so many ->owner's and getting it wrong results in jumping to non-existent address.

--
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/