[Bug 958095] [NEW] Linux user input device ioctls missing wrappers

Chase Douglas chase.douglas at canonical.com
Sat Mar 17 19:18:06 UTC 2012


Public bug reported:

The user input device ioctls defined in linux/uinput.h need wrappers
because they either don't provide a third argument or they provide an
int value instead of a pointer to a memory location.

This causes valgrind errors like:

==1178== Syscall param ioctl(generic) points to unaddressable byte(s)
==1178==    at 0x6AC8FB7: ioctl (syscall-template.S:82)
==1178==    by 0x4E33FA0: evemu_create (evemu.c:468)
==1178==    by 0x412698: utouch::evemu::Device::Device(char const*) (device.cpp:54)
==1178==    by 0x425DD0: AtomicTap_Recording_Test::TestBody() (atomic-timeout.cpp:170)
==1178==    by 0x46C2BC: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/cndougla/Canonical/x/upstream/utouch-gra
il/tap-fixes/test/check-grail)
==1178==    by 0x463FE0: testing::Test::Run() (in /home/cndougla/Canonical/x/upstream/utouch-grail/tap-fixes/test/check-grail)
==1178==    by 0x4640C5: testing::TestInfo::Run() (in /home/cndougla/Canonical/x/upstream/utouch-grail/tap-fixes/test/check-grail)
==1178==    by 0x464206: testing::TestCase::Run() (in /home/cndougla/Canonical/x/upstream/utouch-grail/tap-fixes/test/check-grail)
==1178==    by 0x46455D: testing::internal::UnitTestImpl::RunAllTests() (in /home/cndougla/Canonical/x/upstream/utouch-grail/tap-fixes/test/check-grail)
==1178==    by 0x46BE3C: bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char cons
t*) (in /home/cndougla/Canonical/x/upstream/utouch-grail/tap-fixes/test/check-grail)
==1178==    by 0x46363D: testing::UnitTest::Run() (in /home/cndougla/Canonical/x/upstream/utouch-grail/tap-fixes/test/check-grail)
==1178==    by 0x56740B4: main (main.cpp:123)
==1178==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

The default valgrind ioctl signatures do not match how the uinput ioctls
work. These errors are false positives.

** Affects: valgrind
     Importance: Unknown
         Status: Unknown

** Affects: valgrind (Ubuntu)
     Importance: Wishlist
     Assignee: Chase Douglas (chasedouglas)
         Status: In Progress

** Bug watch added: KDE Bug Tracking System #296229
   http://bugs.kde.org/show_bug.cgi?id=296229

** Also affects: valgrind via
   http://bugs.kde.org/show_bug.cgi?id=296229
   Importance: Unknown
       Status: Unknown

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to valgrind in Ubuntu.
https://bugs.launchpad.net/bugs/958095

Title:
  Linux user input device ioctls missing wrappers

Status in Valgrind:
  Unknown
Status in “valgrind” package in Ubuntu:
  In Progress

Bug description:
  The user input device ioctls defined in linux/uinput.h need wrappers
  because they either don't provide a third argument or they provide an
  int value instead of a pointer to a memory location.

  This causes valgrind errors like:

  ==1178== Syscall param ioctl(generic) points to unaddressable byte(s)
  ==1178==    at 0x6AC8FB7: ioctl (syscall-template.S:82)
  ==1178==    by 0x4E33FA0: evemu_create (evemu.c:468)
  ==1178==    by 0x412698: utouch::evemu::Device::Device(char const*) (device.cpp:54)
  ==1178==    by 0x425DD0: AtomicTap_Recording_Test::TestBody() (atomic-timeout.cpp:170)
  ==1178==    by 0x46C2BC: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/cndougla/Canonical/x/upstream/utouch-gra
  il/tap-fixes/test/check-grail)
  ==1178==    by 0x463FE0: testing::Test::Run() (in /home/cndougla/Canonical/x/upstream/utouch-grail/tap-fixes/test/check-grail)
  ==1178==    by 0x4640C5: testing::TestInfo::Run() (in /home/cndougla/Canonical/x/upstream/utouch-grail/tap-fixes/test/check-grail)
  ==1178==    by 0x464206: testing::TestCase::Run() (in /home/cndougla/Canonical/x/upstream/utouch-grail/tap-fixes/test/check-grail)
  ==1178==    by 0x46455D: testing::internal::UnitTestImpl::RunAllTests() (in /home/cndougla/Canonical/x/upstream/utouch-grail/tap-fixes/test/check-grail)
  ==1178==    by 0x46BE3C: bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char cons
  t*) (in /home/cndougla/Canonical/x/upstream/utouch-grail/tap-fixes/test/check-grail)
  ==1178==    by 0x46363D: testing::UnitTest::Run() (in /home/cndougla/Canonical/x/upstream/utouch-grail/tap-fixes/test/check-grail)
  ==1178==    by 0x56740B4: main (main.cpp:123)
  ==1178==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

  The default valgrind ioctl signatures do not match how the uinput
  ioctls work. These errors are false positives.

To manage notifications about this bug go to:
https://bugs.launchpad.net/valgrind/+bug/958095/+subscriptions




More information about the foundations-bugs mailing list