jinput
  1. jinput
  2. JINPUT-44

Reference to nonexistence ioctl EVIOCGUSAGE causes crash on Linux

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Environment:

      Linux

      Description

      The function getDeviceUsageBits() is a wrapper around the ioctl EVIOCGUSAGE. This ioctl was rejected by the Linux kernel developers: http://thread.gmane.org/gmane.linux.kernel/388477

      Since getDeviceUsageBits() is a private function only used by guessTypeFromUsages(), which itself is only used as the first possible implementation of guessType() (which falls back to guessTypeFromComponents()), the simplest solution is to remove all trace of the usage bits codepath, and have guessType() simply be the current guessTypeFromComponents().

      I've attached a patch against current SVN HEAD to address this issue, also available at http://ldpreload.com/p/jinput-remove-getDeviceUsageBits.patch . (This patch appears to compile cleanly.)

      This was originally reported in Debian as http://bugs.debian.org/633501 .

        Activity

        There are no comments yet on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            geofft
          • Votes:
            2 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated: