Comment 41 for bug 973297

Revision history for this message
François Coulier (f-coulier) wrote : Re: [Bug 973297] Re: Xorg recognizes Logitech Headset USB dongle as input device then segfaults in XIChangeDeviceProperty

It is not clear to me how to apply this patch, though. ...

François

----- Mail original -----

> De: "Niko Berger" <email address hidden>
> À: "f coulier" <email address hidden>
> Envoyé: Vendredi 8 Juin 2012 08:50:27
> Objet: [Bug 973297] Re: Xorg recognizes Logitech Headset USB dongle
> as input device then segfaults in XIChangeDeviceProperty

> I can confirm that the patch in http://lists.x.org/archives/xorg-
> devel/2012-June/031541.html works fine. Once applied xorg starts and
> the
> logitech headset works

> --
> You received this bug notification because you are subscribed to the
> bug
> report.
> https://bugs.launchpad.net/bugs/973297

> Title:
> Xorg recognizes Logitech Headset USB dongle as input device then
> segfaults in XIChangeDeviceProperty

> Status in “xserver-xorg-input-evdev” package in Ubuntu:
> Fix Released
> Status in “xserver-xorg-input-evdev” source package in Precise:
> Fix Committed

> Bug description:
> SRU Justification
> =================
> [Impact]
> On i386 machines, plugging a Logitech headset with buttons in will
> crash an existing X session or prevent an X session from starting.

> The crash is due to a stack buffer overrun write that corrupts the
> stack. This occurs because the buffer is not allocated with enough
> room to hold records for all input device valuators when multitouch
> valuators are present.

> [Test Case]
> Plug in the headset and see if X crashes. Alternatively, use
> utouch-evemu to create a virtual headset using the attached
> Logitech_Wireless_Headset.prop file:

> $ sudo utouch-evemu device Logitech_Wireless_Headset.prop

> [Regression Potential]
> The fix touches code that affects how input device axes are labelled.
> These labels are used primarily for the GIMP and a few other drawing
> tools when using a tablet drawing device. It is possible that a
> regression could occur, causing the axes to not be labeled
> correctly.

> Original bug report
> ===================
> On Precise, when I plug in the USB dongle that comes with a Logitech
> H800 headset, xorg segfaults.

> The following trace is captured in Xorg.log (see attachment
> XorgOldLog.txt)

> 45.488] (II) config/udev: Adding input device Logitech Logitech
> Wireless Headset (/dev/input/event7)
> [ 45.488] (**) Logitech Logitech Wireless Headset: Applying
> InputClass "evdev keyboard catchall"
> [ 45.488] (II) Using input driver 'evdev' for 'Logitech Logitech
> Wireless Headset'
> [ 45.488] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
> [ 45.488] (**) Logitech Logitech Wireless Headset: always reports
> core events
> [ 45.488] (**) evdev: Logitech Logitech Wireless Headset: Device:
> "/dev/input/event7"
> [ 45.488] (--) evdev: Logitech Logitech Wireless Headset: Vendor
> 0x46d Product 0xa29
> [ 45.488] (--) evdev: Logitech Logitech Wireless Headset: Found
> absolute axes
> [ 45.488] (--) evdev: Logitech Logitech Wireless Headset: Found
> absolute multitouch axes
> [ 45.488] (--) evdev: Logitech Logitech Wireless Headset: Found keys
> [ 45.488] (II) evdev: Logitech Logitech Wireless Headset: Configuring
> as mouse
> [ 45.488] (II) evdev: Logitech Logitech Wireless Headset: Configuring
> as keyboard
> [ 45.488] (**) Option "config_info"
> "udev:/sys/devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.3/input/input7/event7"
> [ 45.488] (II) XINPUT: Adding extended input device "Logitech
> Logitech Wireless Headset" (type: KEYBOARD, id 9)
> [ 45.488] (**) Option "xkb_rules" "evdev"
> [ 45.488] (**) Option "xkb_model" "pc105"
> [ 45.488] (**) Option "xkb_layout" "fr"
> [ 45.488] (**) Option "xkb_variant" "oss"
> [ 45.489] (II) evdev: Logitech Logitech Wireless Headset: initialized
> for absolute axes.
> [ 45.489]
> Backtrace:
> [ 45.489] 0: /usr/bin/X (xorg_backtrace+0x37) [0x983037]
> [ 45.489] 1: /usr/bin/X (0x7fb000+0x18bdba) [0x986dba]
> [ 45.489] 2: /lib/i386-linux-gnu/libpthread.so.0 (0x11b000+0xef30)
> [0x129f30]
> [ 45.489] 3: /lib/i386-linux-gnu/libc.so.6 (0x4fe000+0x1324ba)
> [0x6304ba]
> [ 45.489] 4: /usr/bin/X (XIChangeDeviceProperty+0x16c) [0x91b50c]
> [ 45.489] 5: /usr/lib/xorg/modules/input/evdev_drv.so
> (0x2b2000+0x634e) [0x2b834e]
> [ 45.489] 6: /usr/lib/xorg/modules/input/evdev_drv.so
> (0x2b2000+0x6595) [0x2b8595]
> [ 45.489] 7: /usr/bin/X (ActivateDevice+0x66) [0x8272d6]
> [ 45.489] 8: /usr/bin/X (0x7fb000+0x8cad5) [0x887ad5]
> [ 45.489] 9: /usr/bin/X (0x7fb000+0x9b012) [0x896012]
> [ 45.489] 10: /usr/bin/X (0x7fb000+0x9b883) [0x896883]
> [ 45.489] 11: /usr/bin/X (config_init+0x14) [0x8958e4]
> [ 45.489] 12: /usr/bin/X (InitInput+0xba) [0x875daa]
> [ 45.490] 13: /usr/bin/X (0x7fb000+0x2523e) [0x82023e]
> [ 45.490] 14: /lib/i386-linux-gnu/libc.so.6 (__libc_start_main+0xf3)
> [0x5174d3]
> [ 45.490] 15: /usr/bin/X (0x7fb000+0x255d9) [0x8205d9]
> [ 45.490] Segmentation fault at address 0x120
> [ 45.490]
> Caught signal 11 (Segmentation fault). Server aborting

> ProblemType: Bug
> DistroRelease: Ubuntu 12.04
> Package: xorg 1:7.6+12ubuntu1
> ProcVersionSignature: Ubuntu 3.2.0-21.34-generic 3.2.13
> Uname: Linux 3.2.0-21-generic i686
> .tmp.unity.support.test.0:

> ApportVersion: 2.0-0ubuntu4
> Architecture: i386
> CompizPlugins:
> [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell]
> CompositorRunning: compiz
> Date: Wed Apr 4 13:09:19 2012
> DistUpgraded: 2009-11-14 19:02:58,254 DEBUG enabling apt cron job
> DistroCodename: precise
> DistroVariant: ubuntu
> EcryptfsInUse: Yes
> ExtraDebuggingInterest: Yes, whatever it takes to get this fixed in
> Ubuntu
> MachineType: ASUSTeK Computer Inc. U3SG
> ProcEnviron:
> TERM=xterm
> PATH=(custom, user)
> LANG=en_US.utf8
> SHELL=/bin/bash
> ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-21-generic
> root=UUID=75f23f17-3ace-4485-af57-a7318eb6c2ff ro quiet splash
> vt.handoff=7
> SourcePackage: xorg
> UpgradeStatus: Upgraded to precise on 2009-11-14 (871 days ago)
> dmi.bios.date: 01/28/2008
> dmi.bios.vendor: American Megatrends Inc.
> dmi.bios.version: 305
> dmi.board.asset.tag: ATN12345678901234567
> dmi.board.name: U3SG
> dmi.board.vendor: ASUSTeK Computer Inc.
> dmi.board.version: 1.0
> dmi.chassis.asset.tag: ATN12345678901234567
> dmi.chassis.type: 10
> dmi.chassis.vendor: ASUSTeK Computer Inc.
> dmi.chassis.version: 1.0
> dmi.modalias:
> dmi:bvnAmericanMegatrendsInc.:bvr305:bd01/28/2008:svnASUSTeKComputerInc.:pnU3SG:pvr1.0:rvnASUSTeKComputerInc.:rnU3SG:rvr1.0:cvnASUSTeKComputerInc.:ct10:cvr1.0:
> dmi.product.name: U3SG
> dmi.product.version: 1.0
> dmi.sys.vendor: ASUSTeK Computer Inc.
> version.compiz: compiz 1:0.9.7.4-0ubuntu1
> version.libdrm2: libdrm2 2.4.32-1ubuntu1
> version.libgl1-mesa-dri: libgl1-mesa-dri 8.0.2-0ubuntu3
> version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental
> N/A
> version.libgl1-mesa-glx: libgl1-mesa-glx 8.0.2-0ubuntu3
> version.xserver-xorg-core: xserver-xorg-core 2:1.11.4-0ubuntu9
> version.xserver-xorg-input-evdev: xserver-xorg-input-evdev
> 1:2.7.0-0ubuntu1
> version.xserver-xorg-video-ati: xserver-xorg-video-ati
> 1:6.14.99~git20111219.aacbd629-0ubuntu2
> version.xserver-xorg-video-intel: xserver-xorg-video-intel
> 2:2.17.0-1ubuntu4
> version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau
> 1:0.0.16+git20111201+b5534a1-1build2

> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/973297/+subscriptions