Author: ngie
Date: Sun Jul 12 17:16:57 2020
New Revision: 363132
URL: https://svnweb.freebsd.org/changeset/base/363132

Log:
  Don't leave `path` behind when executing `:chflags_success`
  
  Prior to this change a `SF_IMMUTABLE` chflagsat(2)'ed file (`path`) was left
  behind, which sabotaged kyua(1) from being able to clean up the work 
directory,
  This resulted in unnecessary work for folks having to clean up the work
  directory on non-disposable systems, which defaults to `/tmp`. Use 
`UF_OFFLINE`
  instead of `SF_IMMUTABLE`, in part because setting `SF_IMMUTABLE` isn't 
relevant
  to the test and `SF_IMMUTABLE` cannot be cleared at all securelevels, as 
pointed
  out by @asomers.
  
  Additional work is required to catch cases like this upfront in the future to
  avoid tester headache. See PR # 247765 for more details/followup.
  
  Suggested by: asomers
  Reviewed By:  asomers, #tests
  MFC after:    1 week
  PR:           247761
  Sponsored by: DellEMC
  Differential Revision: https://reviews.freebsd.org/D25561

Modified:
  head/tests/sys/audit/file-attribute-modify.c

Modified: head/tests/sys/audit/file-attribute-modify.c
==============================================================================
--- head/tests/sys/audit/file-attribute-modify.c        Sun Jul 12 15:57:29 
2020        (r363131)
+++ head/tests/sys/audit/file-attribute-modify.c        Sun Jul 12 17:16:57 
2020        (r363132)
@@ -704,7 +704,7 @@ ATF_TC_BODY(chflagsat_success, tc)
        /* File needs to exist to call chflagsat(2) */
        ATF_REQUIRE((filedesc = open(path, O_CREAT, mode)) != -1);
        FILE *pipefd = setup(fds, auclass);
-       ATF_REQUIRE_EQ(0, chflagsat(AT_FDCWD, path, SF_IMMUTABLE, 0));
+       ATF_REQUIRE_EQ(0, chflagsat(AT_FDCWD, path, UF_OFFLINE, 0));
        check_audit(fds, successreg, pipefd);
        close(filedesc);
 }
@@ -726,7 +726,7 @@ ATF_TC_BODY(chflagsat_failure, tc)
 {
        FILE *pipefd = setup(fds, auclass);
        /* Failure reason: file does not exist */
-       ATF_REQUIRE_EQ(-1, chflagsat(AT_FDCWD, errpath, SF_IMMUTABLE, 0));
+       ATF_REQUIRE_EQ(-1, chflagsat(AT_FDCWD, errpath, UF_OFFLINE, 0));
        check_audit(fds, failurereg, pipefd);
 }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to