From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 37451 invoked by alias); 3 Mar 2019 11:16:16 -0000 Mailing-List: contact cygwin-cvs-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cygwin-cvs-owner@cygwin.com Received: (qmail 37351 invoked by uid 9078); 3 Mar 2019 11:16:11 -0000 Date: Sun, 03 Mar 2019 11:16:00 -0000 Message-ID: <20190303111611.37350.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin] Cygwin: fork: fix child process permissions, take 3 X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/master X-Git-Oldrev: 4abac6219346f3b3c06401d8100593c742b094b3 X-Git-Newrev: 38dde5f4c4c2e33dfe6dfb9d1bc593d13d85a290 X-SW-Source: 2019-q1/txt/msg00211.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=38dde5f4c4c2e33dfe6dfb9d1bc593d13d85a290 commit 38dde5f4c4c2e33dfe6dfb9d1bc593d13d85a290 Author: Corinna Vinschen Date: Sun Mar 3 10:59:13 2019 +0100 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 Diff: --- winsup/cygwin/wincap.cc | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index 78cc411..5bc9c37 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;