HomeFreeBSD

Fix TOCTOU race conditions reported by CodeQL and Coverity

Description

Fix TOCTOU race conditions reported by CodeQL and Coverity

CodeQL and Coverity both complained about:

  • lib/libshare/os/linux/smb.c
  • tests/zfs-tests/cmd/mmapwrite.c
    • twice
  • tests/zfs-tests/tests/functional/tmpfile/tmpfile_002_pos.c
  • tests/zfs-tests/tests/functional/tmpfile/tmpfile_stat_mode.c
  • coverity had a second complaint that CodeQL did not have
  • tests/zfs-tests/cmd/suid_write_to_file.c
  • Coverity had two complaints and CodeQL had one complaint, both
	  differed. The CodeQL complaint is about the main point of the
	  test, so it is not fixable without a hack involving `fork()`.

The issues reported by CodeQL are fixed, with the exception of the last
one, which is deemed to be a false positive that is too much trouble to
wrokaround. The issues reported by Coverity were only fixed if CodeQL
complained about them.

There were issues reported by Coverity in a number of other files that
were not reported by CodeQL, but fixing the CodeQL complaints is
considered a priority since we want to integrate it into a github
workflow, so the remaining Coverity complaints are left for future work.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Closes #14098

Details

Provenance
Richard Yao <richard.yao@alumni.stonybrook.edu>Authored on Oct 27 2022, 3:03 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Oct 29 2022, 8:04 PM
Parents
rG82ad2a06ac4e: Revert "Cleanup: Delete dead code from send_merge_thread()"
Branches
Unknown
Tags
Unknown