The problem is when you get passed a file descriptor from another
process (via exec or file-descriptor passing) and you don't have
permissions to access the *directory*.
My example, though, shows that we have this problem already.
> > int main(int argc, char *argv[])
> > {
> > int rfd, wfd;
> > char filebuf[PATH_MAX];
> >
> > rfd = open("testfile", O_RDONLY|O_CREAT, 0666);
> > /* Now rfd is a read-only file descriptor */
>
> There is nothing stopping the caller from re-opening the to-be flinked()
> file descriptor read-write using its name if the caller has permissions.
> So I don't see why that case is different.
Again, permissions on the directory.
-hpa
-- <hpa@transmeta.com> at work, <hpa@zytor.com> in private! "Unix gives you enough rope to shoot yourself in the foot." Architectures needed: ia64 m68k mips64 ppc ppc64 s390 s390x sh v850 x86-64 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/