lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <04f4b19f-2990-6ad3-1ae4-b41da1ca089f@schaufler-ca.com>
Date:   Thu, 27 Sep 2018 12:46:28 -0700
From:   Casey Schaufler <casey@...aufler-ca.com>
To:     Roel Van de Paar <roel.vandepaar@...cona.com>,
        linux-kernel@...r.kernel.org
Subject: Re: Bug: getcwd: cannot access parent directories

On 9/26/2018 6:54 PM, Roel Van de Paar wrote:
> Ping :)
>
> On 21 September 2018 at 18:16, Roel Van de Paar
> <roel.vandepaar@...cona.com> wrote:
>> [1.] One line summary of the problem:
>>
>> "cd: error retrieving current directory: getcwd: cannot access parent
>> directories: No such file or directory" on move of directories to
>> another volume
>>
>> [2.] Full description of the problem/report:
>>
>> Example output (testcase below):
>>
>> /tmp/1/2$ cd ..
>> cd: error retrieving current directory: getcwd: cannot access parent
>> directories: No such file or directory
>> /tmp/1/2/..$ cd ..
>> cd: error retrieving current directory: getcwd: cannot access parent
>> directories: No such file or directory
>> /tmp/1/2/../..$ cd ..
>> cd: error retrieving current directory: getcwd: cannot access parent
>> directories: No such file or directory
>> /tmp/1/2/../../..$ cd ..
>> cd: error retrieving current directory: getcwd: cannot access parent
>> directories: No such file or directory
>> /tmp/1/2/../../../..$ cd ..
>> cd: error retrieving current directory: getcwd: cannot access parent
>> directories: No such file or directory
>> /tmp/1/2/../../../../..$ cd ..
>> cd: error retrieving current directory: getcwd: cannot access parent
>> directories: No such file or directory
>> /tmp/1/2/../../../../../..$ cd ..
>> /tmp$
>>
>> - The number of ".." required is not correct
>> - The number of ".." matches the number of subdirs (see below)
>>
>> [4.] Kernel information
>>
>> Tested on latest updates of:
>> * Ubuntu Xenial
>> * Ubuntu Bionic
>> * Centos 7
>>
>> [7.] A small shell script or example program which triggers the
>> problem (if possible)
>>
>> In session 1
>>   cd /tmp
>>   mkdir -p 1/2
>>   cd 1/2
>>
>> In session 2 (another terminal session)
>>   cd /tmp
>>   mkdir -p 3/4/5/6/7
>>   mv 1 3/4/5/6/7
>>   mv 3 /dev/shm   # where /dev/shm is some other disk. /dev/shm
>> reproduction works too. If the disk is the same, the issue will not
>> show.

Please try doing this under strace, in particular

	strace mv 3 /dev/shm

What you will see is that the mv command does a copy/delete
when changing filesystems. The original "2" directory, which
is your current working directory, will have no parent as the
original "1" will have been removed.

>>
>> Back to session 1
>>   cd ..   # fail
>>   cd ..   # fail
>>   cd ..   # fail
>>   cd ..   # fail
>>   cd ..   # fail
>>   cd ..   # fail
>>   cd ..   # works, but to completely incorrect directory given the
>> many 'cd ..'```
>>
>> The problem is made more clear here by using 3/4/5/6/7 but you can
>> also just use a single subdir to see it
> Roel Van de Paar, Technical Director - Quality Assurance, Percona

The system is working properly.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ