[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bugs #12044] find still hangs on dead NFS filesystems on Solaris

From: James Youngman
Subject: [bugs #12044] find still hangs on dead NFS filesystems on Solaris
Date: Sun, 20 Feb 2005 09:10:51 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20050210 Firefox/1.0 (Debian package 1.0+dfsg.1-6)

Update of bugs #12044 (project findutils):

                Severity:             5 - Average => 7 - Major              


Follow-up Comment #1:

The attached patch should solve the problem but only in the case of "find
--version".  However, the underlying cause of your diffculty is in effect
that the system you built find on currently lacks support for the non-POSIX
O_NOFOLLOW flag for open(2).   Find uses this to securely move between
directories without following symbolic links.   See bug #11879 for a
background on the use of O_FOLLOW.  

You can find out if find thinks O_NOFOLLOW works for you by checking the
output of "find --version" (you will have to apply this patch first of course
if your NFS server still isn't working).   O_NOFOLLOW appears in the feature
list if find was built on a system which defines it, but it is disabled if
find think it is actually running on a system that ignores the flag (all
systems except the GNU/Linux and FreeBSD get the benefit of the doubt at the

This issue is discussed in quite some detail in the "Security Considerations"
section of the findutils manual (the manual is included in the source
distribution).  See for example the section entitled "Changing the Current
Working Directory".

With the code as it stands, there is a trade-off to be made between 

1. Security (i.e. not being exposed to race conditions)

2. Reliability (i.e. not being fatally confused by automount)

3. Convenience (i.e. stil working on clients of unreachable NFS servers)

As noted in bug #11879, in the absence of O_NOFOLLOW I don't know of a way to
solve all of these problems simultaneously.  Without O_NOFOLLOW we can solve
any two of those problems, but not all three.

What it comes down to is that we need to find a way of changing directory on
Solaris which either does't follow symbolic links or can tell when this has
happened without being fooled by automounters.  

Additional Item Attachment:

File name: findutils-4.2.18-reposition-init_mounted_dev_list.patch Size:2 KB
Patch to make find --version work, at least.


This item URL is:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]