[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <adabpmsg01a.fsf@cisco.com>
Date: Thu, 06 Aug 2009 13:28:01 -0700
From: Roland Dreier <rdreier@...co.com>
To: Greg KH <gregkh@...e.de>
Cc: Andreas Mohr <andi@...as.de>, linux-kernel@...r.kernel.org,
rusty@...tcorp.com.au
Subject: Re: [BUG] git 2.6.31-rc3'ish: "<kobject> does not have a release() function, it is broken and must be fixed."
> > 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@...e.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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists