Should ReactOS copy unnecessary restrictions that Windows has?
The example I'm thinking of is NtSetLdtEntries. In Windows NT (and
currently ReactOS as well), this function will not let you create an LDT
entry whose limit is above the user/kernel barrier. This restriction sounds
like it was made with security in mind, but it doesn't affect security. The
processor's page table will already block access to kernel memory no matter
what selector you use. After all, the default user CS and DS already have a
limit of FFFFFFFF.
Should such a problem be fixed?
Fireball said "no, unless some 3rd party app or driver depends on them" when
I asked about whether such restrictions should be copied. Pretty much the
only thing using NtSetLdtEntries is NTVDM, and this restriction already
causes some DOS programs to break that would otherwise work. (Such programs
are usually setting selectors that wrap the address space.)
Melissa