NetBSD/sys/uvm
elad 5f7169ccb1 First take at security model abstraction.
- Add a few scopes to the kernel: system, network, and machdep.

- Add a few more actions/sub-actions (requests), and start using them as
  opposed to the KAUTH_GENERIC_ISSUSER place-holders.

- Introduce a basic set of listeners that implement our "traditional"
  security model, called "bsd44". This is the default (and only) model we
  have at the moment.

- Update all relevant documentation.

- Add some code and docs to help folks who want to actually use this stuff:

  * There's a sample overlay model, sitting on-top of "bsd44", for
    fast experimenting with tweaking just a subset of an existing model.

    This is pretty cool because it's *really* straightforward to do stuff
    you had to use ugly hacks for until now...

  * And of course, documentation describing how to do the above for quick
    reference, including code samples.

All of these changes were tested for regressions using a Python-based
testsuite that will be (I hope) available soon via pkgsrc. Information
about the tests, and how to write new ones, can be found on:

	http://kauth.linbsd.org/kauthwiki

NOTE FOR DEVELOPERS: *PLEASE* don't add any code that does any of the
following:

  - Uses a KAUTH_GENERIC_ISSUSER kauth(9) request,
  - Checks 'securelevel' directly,
  - Checks a uid/gid directly.

(or if you feel you have to, contact me first)

This is still work in progress; It's far from being done, but now it'll
be a lot easier.

Relevant mailing list threads:

http://mail-index.netbsd.org/tech-security/2006/01/25/0011.html
http://mail-index.netbsd.org/tech-security/2006/03/24/0001.html
http://mail-index.netbsd.org/tech-security/2006/04/18/0000.html
http://mail-index.netbsd.org/tech-security/2006/05/15/0000.html
http://mail-index.netbsd.org/tech-security/2006/08/01/0000.html
http://mail-index.netbsd.org/tech-security/2006/08/25/0000.html

Many thanks to YAMAMOTO Takashi, Matt Thomas, and Christos Zoulas for help
stablizing kauth(9).

Full credit for the regression tests, making sure these changes didn't break
anything, goes to Matt Fleming and Jaime Fournier.

Happy birthday Randi! :)
2006-09-08 20:58:56 +00:00
..
files.uvm
Makefile
uvm_amap.c make amap use kmem_alloc, rather than malloc. 2006-06-25 08:03:46 +00:00
uvm_amap.h make amap use kmem_alloc, rather than malloc. 2006-06-25 08:03:46 +00:00
uvm_anon.c
uvm_anon.h
uvm_aobj.c bumps kernel aobj to 64 bit. \ 2006-09-01 20:39:05 +00:00
uvm_aobj.h
uvm_bio.c use c99 initializer. 2006-09-03 21:33:33 +00:00
uvm_ddb.h
uvm_device.c use c99 initializers 2006-09-03 21:37:22 +00:00
uvm_device.h
uvm_extern.h bumps kernel aobj to 64 bit. \ 2006-09-01 20:39:05 +00:00
uvm_fault_i.h
uvm_fault.c
uvm_fault.h
uvm_glue.c Make PTRACE and COREDUMP optional. Make the default (status quo) by putting 2006-08-29 23:34:48 +00:00
uvm_glue.h
uvm_init.c move wait points for kva from upper layers to vm_map. PR/33185 #1. 2006-05-25 14:27:28 +00:00
uvm_io.c
uvm_km.c Introduce a UVM_KMF_EXEC flag for uvm_km_alloc() which enforces an 2006-07-05 14:26:42 +00:00
uvm_km.h move wait points for kva from upper layers to vm_map. PR/33185 #1. 2006-05-25 14:27:28 +00:00
uvm_loan.c
uvm_loan.h
uvm_map.c make amap use kmem_alloc, rather than malloc. 2006-06-25 08:03:46 +00:00
uvm_map.h move wait points for kva from upper layers to vm_map. PR/33185 #1. 2006-05-25 14:27:28 +00:00
uvm_meter.c merge FreeBSD timecounters from branch simonb-timecounters 2006-06-07 22:33:33 +00:00
uvm_mmap.c - Use the LWP cached credentials where sane. 2006-07-21 16:48:45 +00:00
uvm_mremap.c
uvm_object.h
uvm_page.c
uvm_page.h
uvm_pager.c
uvm_pager.h
uvm_param.h Rearrange included headers and/or add include of <sys/types.h> and 2006-08-04 22:42:36 +00:00
uvm_pdaemon.c
uvm_pdaemon.h
uvm_pglist.c XXX: GCC uninitialized. 2006-05-14 05:30:31 +00:00
uvm_pglist.h
uvm_pmap.h
uvm_prot.h
uvm_readahead.c
uvm_readahead.h
uvm_stat.c
uvm_stat.h
uvm_swap.c First take at security model abstraction. 2006-09-08 20:58:56 +00:00
uvm_swap.h
uvm_swapstub.c
uvm_unix.c Better implementation of PaX MPROTECT, after looking some more into the 2006-05-20 15:45:37 +00:00
uvm_user.c
uvm_vnode.c - in genfs_getpages, take g_glock earlier so that it can't be 2006-07-22 08:47:56 +00:00
uvm.h