[Bug 222698] find(1)'s -newer expression doesn't work with symbolic links if '-P' (the default) is requested.

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Dec 28 19:42:49 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222698

--- Comment #2 from Conrad Meyer <cem at freebsd.org> ---
Truss:
open(".",O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,01) = 5 (0x5)
fstatfs(5,{ fstypename=ufs,mntonname=/,mntfromname=/dev/gpt/freebsd-root,fsid=
}) = 0 (0x0)
fstat(5,{ mode=drwxr-xr-x ,inode=42455429,size=512,blksize=32768 }) = 0 (0x0)
fchdir(0x5)                                      = 0 (0x0)
getdirentries(5,"\M^E\M-Q\M^G\^B\0\0\0\0\0\0\0\0"...,4096,{ 0x0 }) = 168 (0xa8)
fstatat(AT_FDCWD,"lINK-to-fILE",{ mode=lrwxr-xr-x
,inode=42459218,size=4,blksize=32768 },AT_SYMLINK_NOFOLLOW) = 0 (0x0)
fstatat(AT_FDCWD,"fILE2",{ mode=-rw-r--r--
,inode=42459473,size=27,blksize=32768 },AT_SYMLINK_NOFOLLOW) = 0 (0x0)
fstatat(AT_FDCWD,"fILE",{ mode=-rw-r--r-- ,inode=42459474,size=19,blksize=32768
},AT_SYMLINK_NOFOLLOW) = 0 (0x0)
getdirentries(5,0x8006a8000,4096,{ 0x200 })      = 0 (0x0)
close(5)                                         = 0 (0x0)

So we see that find(1) is correctly using AT_SYMLINK_NOFOLLOW to obtain stat
information for the symlink, as well as the other files.  So either the kernel
is broken, or the comparison is somehow broken.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list