Commit Graph

4987 Commits

Author SHA1 Message Date
Dave Airlie
21248705bb modes: make aspect choosing work on single output case.
In the single output enabled case we never enter the loop and test
never gets set and so we fail to match a good mode.

This was causing my 2560x1600 to end up at 2048x1536.
2008-06-12 14:54:56 +10:00
Julien Cristau
53a84d75c6 xfree86: fix build on GNU/kFreeBSD
GNU/kFreeBSD defines __FreeBSD_kernel__, but not __FreeBSD__.
Unify preprocessor conditionals between variable declaration and use.
Debian bug #482550.
(cherry picked from commit e6cbb1e11e)
2008-06-12 10:01:41 +10:00
George Sapountzis
336a46c519 glx: fix memory corruption with r5g6b5
should cherry-pick to xserver-1.5
(cherry picked from commit 6c72961d8f)
2008-06-12 09:27:00 +10:00
Dave Airlie
38f573566e dbe: fix DoS reported by iDefense.
This isn't a security problem just a user could DoS themselves for fun or profit.
(cherry picked from commit 23e71ef71a)
2008-06-12 09:04:47 +10:00
Peter Hutterer
59a52d8151 config: override xkb_{r,m,l,v} with Xkb{r,m,l,v} if the latter is set.
The HAL spec says that input.xkb.{rmlv}* can be sent, but if the user
specifies a X-specific {rmlv}, then this is overridden through the use of
input.x11_options.Xkb{RMLV}.
However, the way how the server parses options--by ignoring capitalisation,
underscores and spaces--the HAL and the x11_options would override each other.

So we simply filter the options, letting Xkb{RMLV} override xkb_{rmlv} and
only actually add them to the device after parsing _all_ options.

* rmlv ... rules, model, layout, variant

See Bug 13037 <http://bugs.freedesktop.org/show_bug.cgi?id=13037>
(cherry picked from commit fc35d1e3be)
(cherry picked from commit ff013b0da4)
2008-06-11 11:27:01 -04:00
Peter Hutterer
82e7cf1245 config: remove trailing whitespaces.
It makes my vim look ugly. Put "let c_space_errors=1" into your .vimrc.
(cherry picked from commit 1f54c05cf8)
(cherry picked from commit 901978ebe0)
2008-06-11 11:27:01 -04:00
Sascha Hlusiak
b4c5832c75 Support to pass arbitrary options via HAL hotplugging
Parse "input.x11_options" and pass every key/name pair to the driver.
Remove check for input.capabilities, because that's part of the fdi files.

Thanks to Dustin Spicuzza <dustin@virtualroadside.com> for the patch.
(cherry picked from commit 47eb658e80)
2008-06-11 11:27:01 -04:00
Matthieu Herrb
626ea1b02d CVE-2008-1377 - RECORD and Security extensions memory corruption
Lack of validation of the parameters of the
SProcSecurityGenerateAuthorization SProcRecordCreateContext
functions makes it possible for a specially crafted request to trigger
the swapping of bytes outside the parameter of these requests, causing
memory corruption.
(cherry picked from commit 95d162c438)
2008-06-11 11:27:00 -04:00
Matthieu Herrb
e83c79701f CVE-2008-1379 - MIT-SHM arbitrary memory read
An integer overflow in the validation of the parameters of the
ShmPutImage() request makes it possible to trigger the copy of
arbitrary server memory to a pixmap that can subsequently be read by
the client, to read arbitrary parts of the X server memory space.
(cherry picked from commit 063f18ef6d)
2008-06-11 11:27:00 -04:00
Matthieu Herrb
69b173c699 CVE-2008-2360 - RENDER Extension heap buffer overflow
An integer overflow may occur in the computation of the size of the
glyph to be allocated by the AllocateGlyph() function which will cause
less memory to be allocated than expected, leading to later heap
overflow.
(cherry picked from commit c5f69b297b)
2008-06-11 11:27:00 -04:00
Matthieu Herrb
b251fdd9d9 CVE-2008-2361 - RENDER Extension crash
An integer overflow may occur in the computation of the size of the
glyph to be allocated by the ProcRenderCreateCursor() function which
will cause less memory to be allocated than expected, leading later to
dereferencing un-mapped memory, causing a crash of the X server.
(cherry picked from commit 5257a0f83d)
2008-06-11 11:27:00 -04:00
Matthieu Herrb
edd2cac9fa CVE-2008-2362 - RENDER Extension memory corruption
Integer overflows can occur in the code validating the parameters for
the SProcRenderCreateLinearGradient, SProcRenderCreateRadialGradient
and SProcRenderCreateConicalGradient functions, leading to memory
corruption by swapping bytes outside of the intended request
parameters.
(cherry picked from commit 9171206db3)
2008-06-11 11:27:00 -04:00
Daniel Stone
8259d19f71 Xi: event_{x,y} should refer to the extended device (bug #16289)
ProcessOtherEvents was unconditionally stomping the root_{x,y}
co-ordinates provided by GetPointerEvents with those of the core
pointer, meaning that both root_{x,y} and event_{x,y} reported to
clients would reflect the sprite's position, not the position reported
by the device that generated the DeviceMotionNotify or the
DeviceButton{Press,Release} event in the first place.

For key events we still take the sprite's co-ords, as we're delivering
to the focus, which is the (VCP) sprite.

Not cherry-picked from master as MPX fixes this anyway, by taking the
co-ords of the sprite the device moves (be it visible or no).
2008-06-10 18:33:57 +03:00
Julien Cristau
4e3cf7cd89 Add xkbstr.h and xkbsrv.h to sdk_HEADERS
(cherry picked from commit 150c2f55a5)
2008-06-09 17:31:10 -04:00
Adam Jackson
c7c43285b1 Merge branch 'server-1.5-branch' of git+ssh://git.freedesktop.org/git/xorg/xserver into server-1.5-branch 2008-06-09 17:06:41 -04:00
Michel Dänzer
facf271b05 EXA: Fix exaGetPixmapFirstPixel() crash if the driver has a CreatePixmap hook.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16243
(cherry picked from commit 6b96281100)
2008-06-09 14:11:46 -04:00
Paulo Cesar Pereira de Andrade
60990c69b4 Correct a NULL pointer deference
The problem happens if Monitor/Card combo doesn't provide EDID info,
and the XFree86-VidModeExtension extension is used.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
(cherry picked from commit c8af7ce35a)
2008-06-09 14:09:39 -04:00
Michel Dänzer
1667ed6e24 EXA: Don't migrate twice in exaImageGlyphBlt.
exaPrepareAccess already handles migration.
(cherry picked from commit f6d61d3d86)
2008-06-09 14:04:21 -04:00
Michel Dänzer
6dee3fdf18 EXA: Don't suggest exaCopyDirty be inlined.
Leave the decision to the compiler toolchain.
(cherry picked from commit d733043982)
2008-06-09 14:04:01 -04:00
Michel Dänzer
3943a3a567 EXA: Specify region used for source pixmap migration in exaCopyNtoN.
Avoids excessive migration overhead in some pathological cases. See
http://bugs.freedesktop.org/show_bug.cgi?id=15845 .
(cherry picked from commit 3baf3b42e0)
2008-06-09 14:03:36 -04:00
Drew Parsons
c00ff932f8 Disable D-BUS from Xprint.
Use dummy config functions to replace those from config/config.c, and
therefore do not link Xprt with $CONFIG_LIB.

Works around an endlessly spinning loop in dix/dispatch.c::Dispatch()
(WaitForSomething() not waiting) when built with dbus, which was
causing Xprt to use 95% cpu.
(cherry picked from commit 2a3d1421e0)
2008-06-09 13:57:03 -04:00
Drew Parsons
2f994cb00e Create dix/libXpdix.la for Xprint-specific build of libdix.la
(cherry picked from commit 4e2c6dbabdbbaaca213fd08edd422de15d0900cc)

required because of commit 7c0709a736,
which made requestingClient in dix specific to Xprint only.
Add to XPRINT_LIBS in hw/xprint/Makefile.am in front of
$(XSERVER_LIBS) to override definitions in libdix.la for standard xservers.

Follows 571206832d (providing -DXPRINT
to xprint subdirs).

Note it may be possible to restructure the code so that
requestingClient is stored elsewhere than in dix. See discussions
following http://lists.freedesktop.org/archives/xorg/2008-March/033844.html
If this is done it may be possible to revert this commit (if not 571206...).
(cherry picked from commit 966ae1781f)
2008-06-09 13:56:59 -04:00
Drew Parsons
30774d6b3c Define XPRINT in XPRINT_CFLAGS (configure.ac)
-DXPRINT had only been set for Xprt in hw/xprint/Makefile.am
After commit 7c0709a736 it is also
required for ps/PsArea.c and PsFonts.c to ensure ‘requestingClient’ is
defined, so make it a global Xprint definition in configure.ac.
(cherry picked from commit 28a6719fd486d9a9cecad0b057d9ea7c59c66055)
(cherry picked from commit 571206832d)
2008-06-09 13:56:53 -04:00
Tilman Sauerbeck
200d676be2 EXA: Set pixmap->accel_blocked on the screen pixmap, too.
(cherry picked from commit 3f081b4de5)
2008-06-09 13:44:37 -04:00
Tilman Sauerbeck
2df83b491e EXA: Update sys_pitch/fb_pitch in exaModifyPixmapHeader.
exaModifyPixmapHeader now also only evaluates arguments that have a
meaningful value.
(cherry picked from commit 26c1801a27)
2008-06-09 13:44:32 -04:00
Michel Dänzer
0fba91a532 EXA: Offscreen memory eviction improvements.
* Make sure available areas are considered to have no eviction cost. This seems
  to help for https://bugs.freedesktop.org/show_bug.cgi?id=15513 but I'm afraid
  that may just be coincidence.
* Only calculate eviction cost of each area once for each eviction pass.
  Safeguard against potential (though unlikely) division by zero.
* Cosmetic enhancements: Name eviction cost related variables 'cost' instead of
  'score' to emphasize that smaller values are better, update Doxygen file
  comment to the way eviction works now.
(cherry picked from commit 6c95fae1e9)
2008-06-09 13:44:26 -04:00
Dave Airlie
50e77eb838 int10: add pci_device_enable support on Linux
(cherry picked from commit ea4ec9e998)
2008-06-09 13:29:32 -04:00
Aaron Plattner
77313bdc76 CreateColormap returns Success on success, not TRUE.
Fixes a problem where enabling color index overlays disables the RENDER
extension.
(cherry picked from commit 607b0d09ea)
2008-06-09 09:59:42 -07:00
Adam Jackson
9211a10b98 xserver 1.4.99.902 2008-05-21 17:52:23 -04:00
Aaron Plattner
b69c74d14b Short-circuit PanoramiXTranslateVisualID after verifying that the visual actually exists first.
This allows using PanoramiXTranslateVisualID to test whether a given visual made
it through PanoramiXVisualConsolidate.
(cherry picked from commit 8b3d26f5b6)
2008-05-20 14:11:37 -07:00
Adam Jackson
5efe36f7af Fix reduced-blanking mode filtering in RANDR 1.2.
If the monitor isn't reduced-blanking (either through EDID logic, or
config file setting), then remove RB modes from the default pool.  Any
RB modes from the driver and config file pools will stick around though;
you asked for them, you got them.
(cherry picked from commit 0178b6a4ab)
2008-05-19 11:27:58 -04:00
James Cloos
e644d2e73f Prevent the -wm command line option from causing a SEGV
The -wm (when mapped) option for the BackingStore support has been
causing the server to dereference a NULL pointer.

This has probably been the case since backing store has been
implemented on top of Composite.

It looks like (some of?) Composite didn’t expect its WIndowPtr
argument to be the root window.

In Composite’s compCheckRedirect() function we now avoid calling
compAllocPixmap() and compFreePixmap() when the pWin pointer’s
parent member is NULL, as is it the case with a server’s root window.

This addresses:

https://bugs.freedesktop.org/show_bug.cgi?id=15878

(cherry picked from commit 04211c3532)
2008-05-16 13:01:34 -04:00
Adam Jackson
0230f39fa3 RANDR 1.1 compat: remove senseless comparison against the virtual size.
(cherry picked from commit aad1c37b09)
2008-05-16 11:11:40 -04:00
Adam Jackson
95985256ef xf86SetDesiredModes(): Skip disabled CRTCs first thing.
(cherry picked from commit 14726b776d)
2008-05-16 11:11:40 -04:00
Adam Jackson
bedcf98558 Fix initial mode selection even harder.
The first guess used to be "is the preferred mode for one output the
preferred mode on all outputs".  Instead, do "find the largest mode that's
preferred for at least one output and available on all outputs".
(cherry picked from commit 459f34b089)
2008-05-16 11:11:40 -04:00
Adam Jackson
bd50c41f6f Redo RANDR compatibility output selection.
Old logic was just the first one that happened to have an associated
CRTC.  The new logic tries to find one that's definitely connected, has
probed modes, and has the largest candidate mode.
(cherry picked from commit 96111c1547)
2008-05-16 11:11:40 -04:00
Adam Jackson
0b031442fe Re-add sync range inference from legacy setup to RANDR 1.2.
(cherry picked from commit a4bbe1c8bc)
2008-05-16 11:11:39 -04:00
Adam Jackson
b053c9768b Default X-SELinux to off.
Applied only to 1.5 branch for purposes of release stability.  Reevaluate
this when we do 1.6.
2008-05-16 10:06:27 -04:00
Adam Jackson
cfff55a2bb Fix fbdevhw initialization for PCI drivers.
graphics/fb%d, not graphics:fb%d.  Thanks sysfs.  Thysfs.
(cherry picked from commit 86678e7cc2)
2008-05-16 10:03:24 -04:00
Adam Jackson
1bd229d4ac Fix hal shutdown crash.
Removing the device invalidates its ->next pointer.  Copy it aside before
destroying the device.
(cherry picked from commit f52f6c5c7e)
2008-05-16 09:50:38 -04:00
Hans de Goede
18a1d643bc Prefer glxvisuals with stencil buffer for default visuals
The first fbconfig which has a depthbuffer > 0  and doublebuf is choosen
when associating fbconfigs with the visuals, indepenent of stencil bits.
This happens to work ok on intel as there all fbconfigs with a
depthbuffer > 0 also have stencil bits.

This patch fixes this by first trying to get a fbconfig for default X visuals
with both stencilbuf, depthbuf and doublebuffering, and if that fails fallback
to trying to get one with only a depthbuf and doublebuffering.
(cherry picked from commit f6e22d69af)
2008-05-16 09:45:30 -04:00
Alan Coopersmith
ce1f6de2e8 When XKB fails to open rules file, log the file name, not the NULL file pointer
(cherry picked from 7cdc19b29d commit)
2008-05-13 16:40:46 -07:00
Aaron Plattner
8afd1d62f6 Bug #14692: Allow drivers to have a say in Xinerama visual consolidation.
Create a new exported global variable, XineramaVisualsEqualPtr.  Use this
pointer to decide whether two visuals are equal during visual consolidation.
This pointer can be wrapped, which allows drivers and extensions to control
which visuals are consolidated.  A wrapper can reject the visuals without
calling down, but must call down and return that result if it deems the visuals
equal.  This ensures that all layers agree that the visuals are equal.

Pass the screen of the other visual into the VisualsEqual callchain.

Don't free PanoramiXVisuals since we need it for PanoramiXTranslateVisualID.

Don't skip the first visual on the other screen in PanoramiXMaybeAddVisual.

Skip the loop in PanoramiXTranslateVisualID if screen is 0.
(cherry picked from commit c50b5d9789)
2008-05-12 16:43:50 -07:00
Julien Cristau
f2278a882f kdrive: allow disabling Composite
KdInitOutput() used to enable Composite when it was disabled by default,
but now this hack prevents ``-extension Composite'' from working.
Remove it, as Composite is enabled by default anyway.
(cherry picked from commit 9dfb525f6c)
2008-05-11 23:38:03 +02:00
Adam Jackson
64948dc667 Bug #13104: Remove broken XAA a1 glyph fast path.
(cherry picked from commit f17ba5d584)
2008-05-08 16:12:01 -04:00
Adam Jackson
f2aa0000a2 Bug #13104: Don't let XAA glyph pixmaps anywhere near video memory.
Since glyphs are stored in pixmaps now, they can make their way into VRAM,
which invalidates a bunch of fast-path assumptions in the XAA code.  Thus
you end up doing color-expands or WriteBitmap from la-la land and your
aliased glyphs go all funny.

Since XAA isn't ever growing the ability to do sane glyph accel, just force
glyph pixmaps into host memory by catching them at CreatePixmap time.
(cherry picked from commit 718652eaf9)
2008-05-08 16:09:56 -04:00
Daniel Stone
f7a9d30f82 XKB: Actually explain keymap failures
When something went wrong building a keymap, try to explain to the user
what it actually was, instead of the dreaded 'Failed to load XKB keymap'
catch-all.
(cherry picked from commit cf20df39cc)
2008-05-07 22:56:17 +03:00
Keith Packard
3e71527048 Empty the borderClip of manual redirect windows. (bug 15823)
Thanks to Owen Taylor for root-causing this one.

If a TreatAsTransparent window has any area in the borderClip, that will be
added to the totalClip region for use by other windows. That's wrong.
Instead, simply empty the borderClip for TreatAsTransparent windows right up
front.
(cherry picked from commit 6c1accce87)
2008-05-06 13:03:58 -04:00
Jordan Crouse
fd0ec73bcb xf86: Change AutoConfig driver for PCI ID 022:2091 to 'geode'
(cherry picked from commit 4fa89fbe18)
2008-04-30 11:51:08 +03:00
Alan Coopersmith
7c05b4c621 Bug 14247: If pkg-config can't find openssl.pc, just link with -lcrypto
X.Org bugzilla #14247 <http://bugs.freedesktop.org/show_bug.cgi?id=14247>
(cherry picked from b1ae7c79db commit)
2008-04-24 19:06:18 -07:00