[PATCH xserver] Fix random hangs handling too-big requests

Aaron Plattner aplattner at nvidia.com
Mon Aug 5 13:20:51 PDT 2013


On 07/15/13 16:44, Peter Harris wrote:
> If a request is too big, input->ignoreBytes is set. When ignoreBytes is
> set, the number of bytes "got now" is artificially set to zero so the
> rest of the server does not process the partial request.
>
> Make sure the input buffer is not put back on the AvailableInput list,
> or the ignoreBytes count could be assigned to an unrelated client.

Is this still necessary as of 67c66606c760c263d7a4c2d1bba43ed6225a4e7c ?

> Signed-off-by: Peter Harris <pharris at opentext.com>
> ---
>   os/io.c |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/os/io.c b/os/io.c
> index 0d980ab..3f7e3e0 100644
> --- a/os/io.c
> +++ b/os/io.c
> @@ -451,7 +451,7 @@ ReadRequestFromClient(ClientPtr client)
>           }
>       }
>       else {
> -        if (!gotnow)
> +        if (!gotnow && !oc->input->ignoreBytes)
>               AvailableInput = oc;
>           if (!SmartScheduleDisable)
>               FD_CLR(fd, &ClientsWithInput);
>


-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------


More information about the xorg-devel mailing list