Mikolaj Zalewski mikolaj@zalewski.pl writes:
Execution permission is needed because we store some (mostly DPMI-related) code in UMB (in winedos/himem.c) that is executed for each Win16 app. The user may put even more code there. Ntvdm.exe also makes the DOS memory executable (except for some parts of the UMB)
winedos is supposed to make that memory executable when needed. The executable protection was removed from kernel32 as it causes failures on platforms that don't allow write+exec.