lkml.org 
[lkml]   [2008]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] evdev: Release eventual input device grabs when getting disconnected
    Hi Bjorn,

    On Mon, Mar 31, 2008 at 12:42:03AM +0200, Bj?rn Steinbrink wrote:
    > On 2008.03.30 15:22:28 -0700, Greg KH wrote:
    > > On Sun, Mar 30, 2008 at 02:51:02PM -0700, Linus Torvalds wrote:
    > > > On Sun, 30 Mar 2008, Bj?rn Steinbrink wrote:
    > > > > I can't reproduce the bug on my UP box and currently can't afford
    > > > > crashing my SMP box (all the oopses seem to come from SMP kernels, so I
    > > > > guess it needs SMP to crash), so while this doesn't show any new
    > > > > problems, I can't tell whether it actually fixes anything. Testers
    > > > > welcome!
    > > >
    > > > Ok, I applied this because I will do an -rc8 today or tomorrow, but I
    > > > really really hope somebody can figure out what made this all start to
    > > > trigger. It does smell like some core device layer change, because we do
    > > > not seem to have a lot of changes since 2.6.24 in evdev.c and input.c that
    > > > seem relevant.
    > > >
    > > > Greg, are there any refcounting changes that would cause the input devices
    > > > to be free'd earlier or something?
    > >
    > > Earlier? No, not that I know of at all, as long as the reference
    > > counting logic was correct originally. All of the problems we have been
    > > fixing were ones where we accidentally were grabbing too many references
    > > and then wondering why things were not getting cleaned up properly as
    > > the kobject rework exposed these problems making them more obvious.
    >
    > Not freeing the input device at all would of course also hide any
    > access-after-free problems :-) So if that's the case, that might explain
    > the sudden exposure of the problem. IMHO, my patch is the right thing to
    > do anyway, because releasing a grab on the underlying input device from
    > within evdev clearly needs to happen before we release that device. So
    > AFAICT we're really just looking for "why do we see that bug now?" and
    > "is there another bug?"
    >

    If device is being disconnected (rdestroyed) then we dont really need to
    release grab since there won't be any input events coming through anyway,
    so there is no "another bug". I am considering removing the call to
    release device once we sort out the issue with lifetime rules change,
    since it is not needed.

    --
    Dmitry


    \
     
     \ /
      Last update: 2008-03-31 22:49    [W:0.023 / U:7.004 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site