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