Bug 2786
Summary: | The 'uinput' device Oops when select()ed or poll()ed | ||
---|---|---|---|
Product: | Drivers | Reporter: | LEE Sau Dan (danlee) |
Component: | Input Devices | Assignee: | Vojtech Pavlik (vojtech) |
Status: | CLOSED PATCH_ALREADY_AVAILABLE | ||
Severity: | normal | ||
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.7-rc1 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
C program to generate the Oops (Change the filename in the open line to "/dev/misc/uinput" to trigger the bug.)
The oops message Patch to avoid oopsing in uinput_poll |
Description
LEE Sau Dan
2004-05-28 09:59:26 UTC
Created attachment 3001 [details]
C program to generate the Oops (Change the filename in the open line to "/dev/misc/uinput" to trigger the bug.)
Created attachment 3002 [details]
The oops message
Apparently, there is a null pointer deference in kernel code.
Created attachment 3007 [details]
Patch to avoid oopsing in uinput_poll
You need to create userspace device before starting polling. Please try the
attached patch (it checks whether the device has been created before doing
poll_wait as the user device may not be created yet and corresponding wait
queue is not yet initialized).
Thanks, Dmitry. The patch looks obviously correct, so I implemented a similar fix in my input tree. |