s3: smbd: Ignore fstat() error on deleted stream in fd_close().
authorRalph Boehme <slow@samba.org>
Wed, 20 Sep 2023 21:21:44 +0000 (14:21 -0700)
committerVolker Lendecke <vl@samba.org>
Tue, 10 Oct 2023 09:39:27 +0000 (09:39 +0000)
commit633a3ee6894cc1d05b44dbe47a278202803d9b21
tree7e742b020cf3d343018dce5e568f16f83b542bb5
parent23deb79a28009f5c4ea2f2c2ceb84cfdbc9fb5b1
s3: smbd: Ignore fstat() error on deleted stream in fd_close().

In the fd_close() fsp->fsp_flags.fstat_before_close code path.

If this is a stream and delete-on-close was set, the
backing object (an xattr from streams_xattr) might
already be deleted so fstat() fails with
NT_STATUS_NOT_FOUND. So if fsp refers to a stream we
ignore the error and only bail for normal files where
an fstat() should still work. NB. We cannot use
fsp_is_alternate_stream(fsp) for this as the base_fsp
has already been closed at this point and so the value
fsp_is_alternate_stream() checks for is already NULL.

Remove knownfail.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=15487

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Tue Oct 10 09:39:27 UTC 2023 on atb-devel-224
selftest/knownfail.d/close_full_info [deleted file]
source3/smbd/open.c