Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2019-03-03 12:59:13 +0300
committerCorinna Vinschen <corinna@vinschen.de>2019-03-03 12:59:13 +0300
commit38dde5f4c4c2e33dfe6dfb9d1bc593d13d85a290 (patch)
treea4c9490581d4dfa3149a2f2a7a124d080af30207
parent4abac6219346f3b3c06401d8100593c742b094b3 (diff)
Cygwin: fork: fix child process permissions, take 3
Per MSDN VirtualQueryEx requires PROCESS_QUERY_INFORMATION. Testing showed that PROCESS_QUERY_LIMITED_INFORMATION is sufficient since Windows 8.1. The assumption that Windows 8 is the same as Windows 8 was not correct, it requires PROCESS_QUERY_INFORMATION as well. Fix that by splitting the Windows 8 wincaps into one for Windows 8 and one for Windows 8.1. Set needs_query_information for Windows 8. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--winsup/cygwin/wincap.cc29
1 files changed, 28 insertions, 1 deletions
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index 78cc41133..5bc9c3778 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -73,6 +73,31 @@ wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = {
{
is_server:false,
needs_count_in_si_lpres2:false,
+ needs_query_information:true,
+ has_gaa_largeaddress_bug:false,
+ has_broken_alloc_console:true,
+ has_console_logon_sid:true,
+ has_precise_system_time:true,
+ has_microsoft_accounts:true,
+ has_processor_groups:true,
+ has_broken_prefetchvm:false,
+ has_new_pebteb_region:false,
+ has_broken_whoami:false,
+ has_unprivileged_createsymlink:false,
+ has_unbiased_interrupt_time:true,
+ has_precise_interrupt_time:false,
+ has_posix_unlink_semantics:false,
+ has_case_sensitive_dirs:false,
+ has_posix_rename_semantics:false,
+ no_msv1_0_s4u_logon_in_wow64:false,
+ },
+};
+
+wincaps wincap_8_1 __attribute__((section (".cygwin_dll_common"), shared)) = {
+ def_guard_pages:2,
+ {
+ is_server:false,
+ needs_count_in_si_lpres2:false,
needs_query_information:false,
has_gaa_largeaddress_bug:false,
has_broken_alloc_console:true,
@@ -273,9 +298,11 @@ wincapc::init ()
caps = &wincap_7;
break;
case 2:
- case 3:
caps = &wincap_8;
break;
+ case 3:
+ caps = &wincap_8_1;
+ break;
default:
caps = &wincap_10_1507;
break;