[Bug 48172] 32-bit wine is unable to allocate a continuous 1.5GB block of memory under 64-bit Linux with a lot of RAM

WineHQ Bugzilla wine-bugs at winehq.org
Sun Mar 1 15:35:50 CST 2020


https://bugs.winehq.org/show_bug.cgi?id=48172

--- Comment #5 from Artem S. Tashkinov <aros at gmx.com> ---
(In reply to Stefan Dösinger from comment #4)
> A 32 bit process has only 4GB of available address space no matter how much
> physical RAM you have. Even if you have less than that a process can
> theoretically alloc 4 GB, it might just lead to heavy swapping.

My PC currently has 64GB of RAM with usually over 60GB free.

> If you want 1.5 gb continuous memory it is vital that the free space is not
> fragmented. Windows (and thus wine) have a fixed allocation around 2gb at
> 0x7ffe0000 (KSHARED_USER_DATA), so you won't be able to get an allocation >
> 2GB no matter what. The area below 2 GB is sprinkled with Windows DLLs at
> fixed load addresses. The area above 2 GB will likely have a pile of Linux
> libs loaded. Address space layout randomization (a security feature) is
> likely to sprinkle libs everywhere.
> 
> /proc/<pid>/maps shows you what is loaded where. I guess disable ASLR will
> help, at the cost of making your system more vulnerable to buffer overflow
> attacks. On 32 bit Windows ASLR is somewhat limited because many windows
> libs have a hardcoded load address and applications depend on it.

Is it the same for 32bit and 64bit host OS'es? I'm running a 64bit Linux
distro, so seemingly there should be no troubles with 32bit memory allocations.
I'd prefer to leave all default protections in place.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list