Hi Johannes,

On 4/27/07, Johannes Berg <[EMAIL PROTECTED]> wrote:

Obviously there's a use-after-free condition, but I can't really make
out where it is. The disassembly seems to point to
               list_for_each_entry(list, &evdev->list, node)
                       kill_fasync(&list->fasync, SIGIO, POLL_HUP);
in evdev_disconnect.

Has somebody seen this before? It seems to happen only if userspace has
the device open or so.


Please try -mm, it should be fixed there. As a temporary work wround
you can also swap list_for_each() and wake_up_interruptible() in
evdev_disconnect().

--
Dmitry

Reply via email to