> The problem is symbolic links.  We get ENOTDIR from file_name_lookup_under
> when trying to open a symbolic link to a file with the O_EXEC bit set, and
> we don't catch this in netfs_attempt_fakeroot.  I have not verified it, but
> had I to venture a guess I would say this comes from the EOPNOTSUPP in
> diskfs's dir_lookup:

That seems like a reasonable deduction.  I've made fakeroot treat
EOPNOTSUPP like EACCES here.  I also made it try zero openmodes if all else
fails.

However, I think diskfs should not return EOPNOTSUPP for this case.  On
Unix systems I have tried, trying to execute a device file (that has
execute bits set) fails with EACCES.  That seems like the appropriate error
for attempting to open a symlink for execute access as well (though on Unix
there is no way to attempt that).

_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to