lkml.org 
[lkml]   [2011]   [Jan]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: kobject_put vs module unload


    On Sat, 8 Jan 2011, Kay Sievers wrote:

    > On Sat, Jan 8, 2011 at 14:19, Mikulas Patocka <mpatocka@redhat.com> wrote:
    > > On Fri, 7 Jan 2011, Greg KH wrote:
    >
    > >> > 4) the reference obtained at point 1) is dropped, kobject reference count
    > >> > reaches zero and the release callback is called. But that callback points
    > >> > to an unloaded module and causes a crash.
    > >> >
    > >> > How is it solved? Am I missing something?
    > >>
    > >> You have the code that creates and frees the object, to not be in the
    > >> module that could have been unloaded.  It's really just that simple.
    > >
    > > If the whole device mapper subsystem can be a module, where can I put the
    > > code?
    > >
    > > I think a similar bug exists in md, it can also be unloaded as a module
    > > and it has "release" method in its module code.
    >
    > If you still have data structures hanging around, these structures are
    > supposed to take a reference on the module -- and you can not unload
    > the module as long as this is the case.
    >
    > Kay

    kobject references don't increase module reference count. If kobject held
    module references, it would be a fix for this bug, but could cause other
    bugs (some modules could be unloadable due to self-references to its own
    kobjects).

    Mikulas
    \
     
     \ /
      Last update: 2011-01-08 19:03    [W:0.045 / U:91.748 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site