lkml.org 
[lkml]   [2009]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [BUG] git 2.6.31-rc3'ish: "<kobject> does not have a release() function, it is broken and must be fixed."
Date

> > The error happening _before_ module _init() and _after_ module _exit()
> > clearly points to something outside of an individual driver's control,
> > i.e. a module core code bug, as hinted by Greg.
> >
> > x86_32 UP, Debian testing, module-init-tools 3.9-2, git as of yesterday.
>
> I can't duplicate this here at all. I wonder what the difference is.
> No one has touched this code path in a while, any chance you could run
> 'git bisect' to track this down?

I don't understand how you can't duplicate it. I see it here too
(missing release warning on module unload with kobject debugging turned
on) and it's obvious why it's happening from looking at the code;
lib/kobject.c has:

struct kobj_type *t = get_ktype(kobj);
//...
if (t && !t->release)
pr_debug("kobject: '%s' (%p): does not have a release() "
"function, it is broken and must be fixed.\n",
kobject_name(kobj), kobj);

and kernel/params.c has:

struct kobj_type module_ktype = {
.sysfs_ops = &module_sysfs_ops,
};

ie a ktype with no release method. And indeed, the release method was
removed in:

commit 7a6a41615bfb2f03ce797bc24104c50b42c935e5
Author: Greg Kroah-Hartman <gregkh@suse.de>
Date: Sat Dec 22 21:18:25 2007 -0800

Modules: remove unneeded release function

ie you did it yourself!

What's the deal?

- R.


\
 
 \ /
  Last update: 2009-08-06 22:33    [W:0.050 / U:0.576 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site