xf86-input-evdev: Changes to 'evdev-2.8-branch'

Peter Hutterer whot at kemper.freedesktop.org
Tue May 6 17:30:59 PDT 2014


 src/evdev.c |   72 ++++++++++--------------------------------------------------
 1 file changed, 12 insertions(+), 60 deletions(-)

New commits:
commit 62010287ebd8a72902630e3ba72e643f1f145c3c
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Tue May 6 09:20:05 2014 +1000

    Use the server's device list for duplicate detection (#78309)
    
    EvdevAddDevice/EvdevRemoveDevice keep a reference to the device to detect
    duplicate devices based on the dev_t.
    
    EvdevAddDevices was called during PreInit, EvdevRemoveDevice was called during
    DEVICE_CLOSE. That makes it imbalanced if the device succeeds PreInit but the
    server skips everything else because MAX_DEVICES is exceeded. So for all
    devices after MAX_DEVICES, we'd add a reference but never remove it,
    eventually reading/writing past evdev_devices.
    
    The server keeps the list of devices for us anyway, so remove the copy of all
    the pointers and instead run through the device list the server gives us.
    
    X.Org Bug 78309 <http://bugs.freedesktop.org/show_bug.cgi?id=78309>
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Hans de Goede <hdegoede at redhat.com>
    (cherry picked from commit 13dea90bc8ef2a2e6f55fb5ff5f54afe41d22f95)



More information about the xorg-commit mailing list