Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Aug 2000 21:49:10 -0700 (PDT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern kern_event.c kern_ktrace.c kern_proc.c kern_prot.c kern_resource.c kern_sig.c sys_process.c src/sys/miscfs/procfs procfs_dbregs.c procfs_fpregs.c procfs_mem.c procfs_regs.c procfs_status.c procfs_vnops.c src/sys/sys proc.h
Message-ID:  <200008300449.VAA30060@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
rwatson     2000/08/29 21:49:10 PDT

  Modified files:
    sys/kern             kern_event.c kern_ktrace.c kern_proc.c 
                         kern_prot.c kern_resource.c kern_sig.c 
                         sys_process.c 
    sys/miscfs/procfs    procfs_dbregs.c procfs_fpregs.c 
                         procfs_mem.c procfs_regs.c 
                         procfs_status.c procfs_vnops.c 
    sys/sys              proc.h 
  Log:
  o Centralize inter-process access control, introducing:
  
      int p_can(p1, p2, operation, privused)
  
    which allows specification of subject process, object process,
    inter-process operation, and an optional call-by-reference privused
    flag, allowing the caller to determine if privilege was required
    for the call to succeed.  This allows jail, kern.ps_showallprocs and
    regular credential-based interaction checks to occur in one block of
    code.  Possible operations are P_CAN_SEE, P_CAN_SCHED, P_CAN_KILL,
    and P_CAN_DEBUG.  p_can currently breaks out as a wrapper to a
    series of static function checks in kern_prot, which should not
    be invoked directly.
  
  o Commented out capabilities entries are included for some checks.
  
  o Update most inter-process authorization to make use of p_can() instead
    of manual checks, PRISON_CHECK(), P_TRESPASS(), and
    kern.ps_showallprocs.
  
  o Modify suser{,_xxx} to use const arguments, as it no longer modifies
    process flags due to the disabling of ASU.
  
  o Modify some checks/errors in procfs so that ENOENT is returned instead
    of ESRCH, further improving concealment of processes that should not
    be visible to other processes.  Also introduce new access checks to
    improve hiding of processes for procfs_lookup(), procfs_getattr(),
    procfs_readdir().  Correct a bug reported by bp concerning not
    handling the CREATE case in procfs_lookup().  Remove volatile flag in
    procfs that caused apparently spurious qualifier warnigns (approved by
    bde).
  
  o Add comment noting that ktrace() has not been updated, as its access
    control checks are different from ptrace(), whereas they should
    probably be the same.  Further discussion should happen on this topic.
  
  Reviewed by:	bde, green, phk, freebsd-security, others
  Approved by:	bde
  Obtained from:	TrustedBSD Project
  
  Revision  Changes    Path
  1.16      +2 -2      src/sys/kern/kern_event.c
  1.41      +3 -1      src/sys/kern/kern_ktrace.c
  1.72      +7 -7      src/sys/kern/kern_proc.c
  1.61      +144 -10   src/sys/kern/kern_prot.c
  1.60      +12 -11    src/sys/kern/kern_resource.c
  1.84      +2 -2      src/sys/kern/kern_sig.c
  1.52      +4 -12     src/sys/kern/sys_process.c
  1.5       +2 -2      src/sys/miscfs/procfs/procfs_dbregs.c
  1.12      +2 -2      src/sys/miscfs/procfs/procfs_fpregs.c
  1.47      +2 -2      src/sys/miscfs/procfs/procfs_mem.c
  1.11      +2 -2      src/sys/miscfs/procfs/procfs_regs.c
  1.21      +2 -2      src/sys/miscfs/procfs/procfs_status.c
  1.81      +34 -17    src/sys/miscfs/procfs/procfs_vnops.c
  1.109     +13 -4     src/sys/sys/proc.h



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?200008300449.VAA30060>