** Description changed:
SRU Justification
=================
[Impact]
- On i386 machines, plugging a headset with buttons in will crash an existing X
session or prevent an X session from starting.
+ On i386 machines, plugging a Logitech headset with buttons in will crash an
existing X session or prevent an X session from starting.
- [Stable Fix]
- The crash is due to an ABI mismatch between xserver-xorg-input-evdev and
xorg-server. A rebuild of the evdev input module fixes the issue.
+ 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.
[Development Fix]
Rebuild will be pocket copied from Precise
[Test Case]
- Plug in a headset and see if X crashes.
+ 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]
- Practically zero.
+ 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
** Description changed:
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.
-
- [Development Fix]
- Rebuild will be pocket copied from Precise
[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
** Changed in: xserver-xorg-input-evdev (Ubuntu Precise)
Status: In Progress => Fix Committed
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/973297
Title:
Xorg recognizes Logitech Headset USB dongle as input device then
segfaults in XIChangeDeviceProperty
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/973297/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs