Reference counting kobjects start with a reference count of 1 kobject_init() Creator must release reference eventually To take or release references: struct kobject *kobject_get(struct kobject *kobj); Returns pointer to same kobject Can fail, check return status void kobject_put(struct kobject *kobj); May release object before returning What happens when refcount goes to zero? We'll get there shortly But first: Doing reference counting right