Linux user input device ioctls missing wrappers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Valgrind |
Fix Released
|
Wishlist
|
|||
valgrind (Ubuntu) |
Fix Released
|
Wishlist
|
Chase Douglas |
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-
==1178== by 0x4E33FA0: evemu_create (evemu.c:468)
==1178== by 0x412698: utouch:
==1178== by 0x425DD0: AtomicTap_
==1178== by 0x46C2BC: void testing:
il/tap-
==1178== by 0x463FE0: testing:
==1178== by 0x4640C5: testing:
==1178== by 0x464206: testing:
==1178== by 0x46455D: testing:
==1178== by 0x46BE3C: bool testing:
t*) (in /home/cndougla/
==1178== by 0x46363D: testing:
==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.
Related branches
Changed in valgrind: | |
importance: | Unknown → Wishlist |
status: | Unknown → New |
Changed in valgrind: | |
status: | New → Fix Released |
Created attachment 69693
Add ioctl wrappers for linux user input devices
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.