Skip to content

[Regression] dix: Fix overzealous caching of ResourceClientBits()

Commit c7311654 cached the value of ResourceClientBits(), but that value depends on the MaxClients value set either from the command line or from the configuration file.

For the latter, a call to ResourceClientBits() is issued before the configuration file is read, meaning that the cached value is from the default, not from the maximum number of clients set in the configuration file.

That obviously causes all sort of issues, including memory corruption and crashes of the Xserver when reaching the default limit value.

To avoid that issue, also keep the LimitClient value, and recompute the ilog2() value if that changes, as on startup when the value is set from the the xorg.conf ServerFlags section.

Fixes: c7311654 - dix: cache ResourceClientBits() value
Closes: #1310 (closed)
Signed-off-by: Olivier Fourdan

Edited by Olivier Fourdan

Merge request reports