From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from conssluserg-03.nifty.com (conssluserg-03.nifty.com [210.131.2.82]) by sourceware.org (Postfix) with ESMTPS id 813A33860C3F for ; Wed, 21 Apr 2021 03:05:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 813A33860C3F Received: from Express5800-S70 (v050190.dynamic.ppp.asahi-net.or.jp [124.155.50.190]) (authenticated) by conssluserg-03.nifty.com with ESMTP id 13L34p3T011665 for ; Wed, 21 Apr 2021 12:04:51 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-03.nifty.com 13L34p3T011665 X-Nifty-SrcIP: [124.155.50.190] Date: Wed, 21 Apr 2021 12:04:57 +0900 From: Takashi Yano To: cygwin@cygwin.com Subject: Cannot access system32 directory from 32 bit cygwin after the commit 456c3a46 Message-Id: <20210421120457.cd5b6e966288aa62eee1a013@nifty.ne.jp> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Apr 2021 03:05:16 -0000 Hi Corinna, I noticed the problem that /cygdrive/c/Windows/System32 directory can be no longer accessed from 32 bit cygwin (WOW64) after the commit: commit 456c3a46386f38887407603b2c64b7f63a4871c5 Author: Corinna Vinschen Date: Mon Apr 19 14:49:14 2021 +0200 Cygwin: path_conv: Try to handle native symlinks more sanely For local paths, add a check if the inner path components contain native symlinks or junctions. Compare the incoming path with the path returned by NtQueryInformationFile(FileNameInformation). If they differ, there must be at least one native symlink or junction in the path. If so, treat the currently evaluated file as non-existant. This forces path_conv::check to backtrack inner path components until we eliminated all native symlinks or junctions and have a normalized path. Signed-off-by: Corinna Vinschen Reverting this commit resolves the issue. 64 bit cygwin does not seem to be affected. Could you please have a look? -- Takashi Yano