Summary: | MAXBUFSIZE - what is it good for? | ||
---|---|---|---|
Product: | xorg | Reporter: | Chris Wilson <chris> |
Component: | Server/General | Assignee: | Xorg Project Team <xorg-team> |
Status: | RESOLVED DUPLICATE | QA Contact: | Xorg Project Team <xorg-team> |
Severity: | critical | ||
Priority: | medium | CC: | jani.saarinen, vytautas.liuolia |
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Chris Wilson
2007-04-18 05:38:54 UTC
*** Bug 4135 has been marked as a duplicate of this bug. *** This seems to have been already fixed in git master: commit ca82d4bddf235c9b68d51d68636bab40eafb9889 Author: Eric Anholt <eric@anholt.net> Date: Fri Aug 31 13:00:23 2007 -0700 Bug #7186: Fix an excessive request size limitation that broke big-requests. MAXBUFSIZE appears to be a leftover of some previous time. Instead, just use maxBigRequestSize when bigreqs are available (limiting buffers to ~16MB) When bigreqs are not available, needed won't be larger than the maximum size of a non-bigreqs request (256kB). diff --git a/os/io.c b/os/io.c index 835af54..9de75ee 100644 --- a/os/io.c +++ b/os/io.c @@ -304,12 +304,14 @@ #endif */ oci->lenLastReq = 0; - if (needed > MAXBUFSIZE) +#ifdef BIGREQS + if (needed > maxBigRequestSize << 2) { /* request is too big for us to handle */ YieldControlDeath(); return -1; } +#endif if ((gotnow == 0) || ((oci->bufptr - oci->buffer + needed) > oci->size)) { diff --git a/os/osdep.h b/os/osdep.h index 965436d..2d455aa 100644 --- a/os/osdep.h +++ b/os/osdep.h @@ -55,9 +55,6 @@ #define _OSDEP_H_ 1 #define BOTIMEOUT 200 /* in milliseconds */ #define BUFSIZE 4096 #define BUFWATERMARK 8192 -#ifndef MAXBUFSIZE -#define MAXBUFSIZE (1 << 22) -#endif #include <X11/Xdmcp.h> *** This bug has been marked as a duplicate of bug 7186 *** |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.