ubuntu-x-swat team mailing list archive
-
ubuntu-x-swat team
-
Mailing list archive
-
Message #113272
[Bug 730488] Re: [Lucid] xf86ScaleAxis problems with high resolution devices
** Description changed:
- Binary package hint: xorg
+ [Impact]
+ On certain higher resolution touchpads, an integer overflow can occur since their range exceeds the maximum int value.
- The xf86ScaleAxis function is used to scale x and y axis values of input
- devices between different resolutions. Due to internal integer overflow,
- the acceptable value range for its arguments are limited below their
- type (signed 32bit integer). This imposes a problem for high resolution
- devices, like the wacom Intuos 4 L, which have a total horizontal
- resolution of 65024. Example: when doing a scaling with a range of more
- than 46340 (Sxhigh-Sxlow), the integer X will wrap into negative values,
- and truncated to 0 at the end.
+ This issue can crop up on Lucid if the user self-compiles -wacom or uses
+ a backport package from a PPA. It does not affect the shipped version
+ of -wacom in Lucid.
+
+ [Development Solution]
+ This was fixed upstream by using a 64-bit integer rather than 32-bit to extend the range. This fix is included in the upstream version of xorg-server we are shipping in natty.
+
+ [Stable Solution]
+ A backport of the fix has been made for Lucid.
+ https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/730488/+attachment/1891113/+files/xf86-scale-high-resolution.diff
+
+ [Test Case]
+ See below (requires affected hardware and rebuilding -wacom on Lucid)
+
+ [Regression Potential]
+ None. No APIs are changed, and increase of the data type has no other code effects.
+
+ [Original Report]
+ The xf86ScaleAxis function is used to scale x and y axis values of input devices between different resolutions. Due to internal integer overflow, the acceptable value range for its arguments are limited below their type (signed 32bit integer). This imposes a problem for high resolution devices, like the wacom Intuos 4 L, which have a total horizontal resolution of 65024. Example: when doing a scaling with a range of more than 46340 (Sxhigh-Sxlow), the integer X will wrap into negative values, and truncated to 0 at the end.
Among other devices, this problem affects wacom Intuos 4 L and XL
tablets when compiling the xf86-input-wacom driver version 0.10.9 and
above. Previous versions work, because they don't use the xf86ScaleAxis
function. With current xorg releases this problem does not happen
either, because a upstream patch (http://lists.x.org/archives/xorg-
devel/2010-April/007333.html) already extends the acceptable value
range. A solution would be to include this patch into 10.04, because
there is still quite a time till the next LTS.
If there is a chance for getting this patch included into 10.04 I'm
willing to make a patch specific for the current xorg-server-1.7.6
package and test it.
** Also affects: xorg-server (Ubuntu Lucid)
Importance: Undecided
Status: New
** Also affects: xorg-server (Ubuntu Natty)
Importance: Undecided
Status: Confirmed
** Changed in: xorg-server (Ubuntu Natty)
Status: Confirmed => Fix Released
** Changed in: xorg-server (Ubuntu Lucid)
Status: New => Fix Committed
** Changed in: xorg-server (Ubuntu Lucid)
Importance: Undecided => Medium
** Changed in: xorg-server (Ubuntu Natty)
Importance: Undecided => High
--
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to xorg-server in ubuntu.
https://bugs.launchpad.net/bugs/730488
Title:
[Lucid] xf86ScaleAxis problems with high resolution devices
References