Hi! > With cross-server COPY we've introduced the possibility that the current > or saved filehandle might not have fh_dentry/fh_export filled in, but we > missed a place that assumed it was. I think this could be triggered by > a compound like: > > PUTFH(foreign filehandle) > GETATTR > SAVEFH > COPY > > First, check_if_stalefh_allowed sets no_verify on the first (PUTFH) op. > Then op_func = nfsd4_putfh runs and leaves current_fh->fh_export NULL. > need_wrongsec_check returns true, since this PUTFH has OP_IS_PUTFH_LIKE > set and GETATTR does not have OP_HANDLES_WRONGSEC set. > > We should probably also consider tightening the checks in > check_if_stalefh_allowed and double-checking that we don't assume the > filehandle is verified elsewhere in the compound. But I think this > fixes the immediate issue. > > Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > Fixes: 4e48f1cccab3 "NFSD: allow inter server COPY to have... " AFAICT 4e48f1cccab3 "NFSD: allow inter server COPY to have... " is not part of 4.19 series, so this should not be needed in 4.19. Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Attachment:
signature.asc
Description: PGP signature