Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Apr 2001 18:02:32 -0700 (PDT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/ufs/ufs ufs_acl.c
Message-ID:  <200104020102.f3212X353796@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
rwatson     2001/04/01 18:02:32 PDT

  Modified files:
    sys/ufs/ufs          ufs_acl.c 
  Log:
  o Correct an ACL implementation bug that could result in a system panic
    under heavy use when default ACLs were bgin inherited by new files
    or directories.  This is done by removing a bug in default ACL
    reading, and improving error handling for this failure case:
  
      - Move the setting of the buffer length (len) variable to above the
        ACL type (ap->a_type) switch rather than having it only for
        ACL_TYPE_ACCESS.  Otherwise, the len variable is unitialized in
        the ACL_TYPE_DEFAULT case, which generally worked right, but could
        result in failure.
  
      - Add a check for a short/long read of the ACL_TYPE_DEFAULT type from
        the underlying EA, resulting in EPERM rather than passing a
        potentially corrupted ACL back to the caller (resulting "cleaner"
        failures if the EA is damaged: right now, the caller will almost
        always panic in the presence of a corrupted EA).  This code is similar
        to code in the ACL_TYPE_ACCESS handling in the previous switch case.
  
      - While I'm fixing this code, remove a redundant bzero() of the ACL
        reader buffer; it need only be initialized above the acl_type
        switch.
  
  Obtained from:	TrustedBSD Project
  
  Revision  Changes    Path
  1.2       +13 -3     src/sys/ufs/ufs/ufs_acl.c


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200104020102.f3212X353796>