cache: fix trailing slash support in face of permission problems

Reported by:	Johan Hendriks <joh.hendriks gmail.com>
Tested by:	kevans
This commit is contained in:
Mateusz Guzik 2021-02-02 18:06:56 +00:00
parent 70dfc101b6
commit 45456abc4c

View file

@ -5521,6 +5521,16 @@ cache_fplookup_failed_vexec(struct cache_fpl *fpl, int error)
dvp = fpl->dvp;
dvp_seqc = fpl->dvp_seqc;
/*
* TODO: Due to ignoring slashes lookup will perform a permission check
* on the last dir when it should not have. If it fails, we get here.
* It is possible possible to fix it up fully without resorting to
* regular lookup, but for now just abort.
*/
if (cache_fpl_istrailingslash(fpl)) {
return (cache_fpl_aborted(fpl));
}
/*
* Hack: delayed degenerate path checking.
*/