Commit Graph

81026 Commits

Author SHA1 Message Date
Robert Watson
08bcdc586e Move all object label init/destroy routines to the head of the
entry points to better match the entry point ordering in mac_policy.h.
Big diff, no functional change; merge from the MAC tree.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-05 16:54:59 +00:00
Robert Watson
ea599aa018 Synch from TrustedBSD MAC tree:
- If a policy isn't registered when a policy module unloads, silently
  succeed.

- Hold the policy list lock across more of the validity tests to avoid
  races.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-05 16:46:03 +00:00
Poul-Henning Kamp
3bd6561289 NB: This commit does *NOT* make GEOM the default in FreeBSD
NB: But it will enable it in all kernels not having options "NO_GEOM"

Put the GEOM related options into the intended order.

Add "options NO_GEOM" to all kernel configs apart from NOTES.

In some order of controlled fashion, the NO_GEOM options will be
removed, architecture by architecture in the coming days.

There are currently three known issues which may force people to
need the NO_GEOM option:

boot0cfg/fdisk:
        Tries to update the MBR while it is being used to control
        slices.  GEOM does not allow this as a direct operation.

SCSI floppy drives:
        Appearantly the scsi-da driver return "EBUSY" if no media
        is inserted.  This is wrong, it should return ENXIO.

PC98:
        It is unclear if GEOM correctly recognizes all variants of
        PC98 disklabels.  (Help Wanted!  I have neither docs nor HW)

These issues are all being worked.

Sponsored by:	DARPA & NAI Labs.
2002-10-05 16:35:33 +00:00
Robert Watson
226b96fb6d Cosmetic line wrap synchronization. 2002-10-05 16:33:46 +00:00
Robert Watson
b2f0927ad6 Push the debugging obect label counters into security.mac.debug.counters
rather than directly under security.mac.debug.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-05 16:30:53 +00:00
Poul-Henning Kamp
d98ce6902e Don't use dkunit() to find our softc when we can hang it off the dev_t.
This removes yet a dependency on the old disklabel stuff.

Sponsored by:	DARPA & NAI Labs.
2002-10-05 15:49:39 +00:00
Poul-Henning Kamp
953afc438f Merge the last couple of my changes to fd.c into the pc98 version.
Sponsored by:	DARPA & NAI Labs
2002-10-05 15:15:43 +00:00
Robert Watson
96adb90996 Begin another merge from the TrustedBSD MAC branch:
- Change mpo_init_foo(obj, label) and mpo_destroy_foo(obj, label) policy
  entry points to mpo_init_foo_label(label) and
  mpo_destroy_foo_label(label).  This will permit the use of the same
  entry points for holding temporary type-specific label during
  internalization and externalization, as well as for caching purposes.
- Because of this, break out mpo_{init,destroy}_socket() and
  mpo_{init,destroy}_mount() into seperate entry points for socket
  main/peer labels and mount main/fs labels.
- Since the prototype for label initialization is the same across almost
  all entry points, implement these entry points using common
  implementations for Biba, MLS, and Test, reducing the number of
  almost identical looking functions.

This simplifies policy implementation, as well as preparing us for the
merge of the new flexible userland API for managing labels on objects.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-05 15:10:00 +00:00
Daniel Eischen
ef795b8f41 Fix building of minimal kernels without npx by rearranging ifdefs.
Also fix some style bugs in surrounding code, and add a comment
about FP state restoral that seems questionable.

Submitted by:	bde
2002-10-05 14:36:14 +00:00
Poul-Henning Kamp
5624b2d4d3 Use in-tree libbsdxml instead of ports based libexpat.
Sponsored by:	DARPA & NAI Labs.
2002-10-05 13:16:07 +00:00
Poul-Henning Kamp
af65c5b73f Match the new g_io_deliver() API in the kernel.
Sponsored by:	DARPA & NAI Labs.
2002-10-05 13:12:10 +00:00
Poul-Henning Kamp
a05c5b8c1a Pass sbuf to the kernel routines to match new kernel code.
Sponsored by:	DARPA & NAI Labs
2002-10-05 13:11:01 +00:00
Maxim Sobolev
790a8088d0 Fix problem introduced in rev.1.406, which can cause already unlocked
mutex being unlocked again causing system panic.
2002-10-05 12:56:10 +00:00
Poul-Henning Kamp
00ab1355ab Plug memoryleaks detected by FlexeLint. 2002-10-05 12:00:11 +00:00
Brian Somers
52ae0b7fb5 If dsgetlabel() returns a label with a size of zero in diskdumpconf(),
treat it as an invalid partition.

This fixes a bug where ``dumpon <device>'' will configure the dump
device at a random offset on the disk if <device> isn't a valid
partition.

Reviewed by: phk
2002-10-05 11:24:21 +00:00
Mike Barcroft
4b96f22259 Fix namespace issues by using visibility conditionals from
<sys/cdefs.h>.  Sort function prototypes.
2002-10-05 05:48:50 +00:00
Mike Barcroft
e61d3b10d7 Fix namespace issues by using visibility conditionals from
<sys/cdefs.h>.
2002-10-05 05:47:56 +00:00
Mike Barcroft
229aeecbbf Change <sys/_sigset.h> to typedef __sigset_t instead of sigset_t, so
that headers that include it can conditionalize sigset_t's visibility.
2002-10-05 05:40:48 +00:00
Juli Mallett
0d29446006 Put an easy-to-miss assignment into the proper place. It was stray in the
middle of a block of code, with no clear assignment.  While here, move one
nearby assignment out of declaration.
2002-10-05 04:49:46 +00:00
Juli Mallett
ecafb24b41 Remove bogus duplicate assignment of local variables. 2002-10-05 04:35:59 +00:00
Robert Watson
6d4d944e33 Get Vinum up and running with GEOM:
(1) Use namei() and devfs to discover devices rather than a hard-coded
    MAKEDEV implementation.  Once rootfs is in place, this will allow
    Vinum to be used for the root file system partition.

(2) Pass FREAD to device opens so that GEOM will return sector size
    rather than an error on attempts to read label data.

(3) Avoid clobbering return values from close_drive() and masking this
    failure, resulting in a later divide by zero due to not having
    updated the Vinum-cached sector size.

(4) Ignore failures from DIOCWLABEL as that appears not to be required
    in the GEOM environment.

We've done testing in simple Vinum environments, but those with more
complex environments might want to give this a spin in DP2 and make
sure everything is up to speed.

Fixes in collaboration with:	iedowse
Reviewed by:			grog
2002-10-05 03:44:00 +00:00
Robert Watson
0c0d4e17e4 Refinement on previous fix for mutex destruction: make sure we don't
release the mutex multiple times for multi-plex volumes.

Following further consultation with:	grog
2002-10-05 03:33:38 +00:00
Robert Watson
96364d6806 Remove a panic on vinum module unload: make sure to destroy all mutexes
before freeing so that WITNESS doesn't dereference mutex data pointers
and page fault.  It's now possible to unload vinum.ko with a GENERIC
kernel on 5.0-CURRENT without panic.

Debugged/fixed with the aid of:	jake, grog
2002-10-05 03:07:23 +00:00
Juli Mallett
e6abe47dbf Define _MACHINE. 2002-10-05 02:56:49 +00:00
Daniel Eischen
be779e1ae2 Once again, remove the i386-specific hacks to save and restore
the FPU state on receiving and returning from a signal.
The FPU save and restore macros are no longer needed, but
remain defined in case we need to use them again (something
else breaks).  They'll be removed permanently once new
syscalls are added to handle the new i386 ucontext size.
2002-10-05 02:22:26 +00:00
Mitsuru IWASAKI
5e0ca5771b Make sure that ACPI PCI driver probe routine call pci_cfgregopen()
before start accessing PCI config space.

Reviewed by:	jhb
2002-10-05 02:16:49 +00:00
Mitsuru IWASAKI
9063802340 Oops, forgot to add main file for my previous commit :-) 2002-10-05 02:06:00 +00:00
Mitsuru IWASAKI
ba835e3fe6 Add code for ACPI PCI link object manipulation.
This allocate the best IRQ to boot-disable devices (have IRQ 0).
Allocated IRQ will be used for PCI interrupt routing when ACPI is
enabled.

Note that verbose messaging enabled for the time being so that
people can easily notice the strange behavior if it happened.
2002-10-05 02:01:05 +00:00
Mike Barcroft
085f8416a2 style(9) <machine/setjmp.h> headers so they look mostly the same. 2002-10-04 22:10:06 +00:00
Mike Barcroft
ddb4fb5b44 Add restrict type-qualifier to sem_getvalue(). 2002-10-04 21:32:00 +00:00
Mike Barcroft
696fbe6b05 o Adjust the SEM_VALUE_MAX macro so that <machine/limits.h> isn't
needed.
o Remove unneeded includes which only add namespace pollution.
o Sort function prototypes.
o Add restrict type-qualifier to sem_getvalue().
2002-10-04 21:31:33 +00:00
Sam Leffler
b18fda4edd add support for /dev/crypto 2002-10-04 20:44:46 +00:00
Sam Leffler
3feb456215 install sys/opencrypto include files in /usr/include/crypto 2002-10-04 20:44:28 +00:00
Sam Leffler
f4bf433552 manual pages for the new kernel crypto support (need work)
Obtained from:	openbsd
2002-10-04 20:43:30 +00:00
Sam Leffler
8b7ce2ff52 hookup new crypto support to the config/build process 2002-10-04 20:42:36 +00:00
Sam Leffler
14c17bd293 New bus_dma interfaces for use by crypto device drivers:
o bus_dmamap_load_mbuf
o bus_dmamap_load_uio

Test on i386.  Known to compile on alpha and sparc64, but not tested.
Otherwise untried.
2002-10-04 20:40:39 +00:00
Sam Leffler
c4f9e3ae7f add crypto interface to the MFILES list 2002-10-04 20:36:39 +00:00
Sam Leffler
ddba93fdbe major 70 is for /dev/crypto (to be consistent with openbsd) 2002-10-04 20:36:13 +00:00
Sam Leffler
b9085a05a8 module for ubsec crypto driver 2002-10-04 20:35:33 +00:00
Sam Leffler
2fab417438 module for hifn driver 2002-10-04 20:35:23 +00:00
Sam Leffler
aed23bc4ce module for /dev/crypto support 2002-10-04 20:35:02 +00:00
Sam Leffler
b35c7eef04 add DTYPE_CRYPTO for use by /dev/crypto support 2002-10-04 20:34:30 +00:00
Sam Leffler
9b53341f29 add RANDOM_PURE for use by crypto drivers that harvest data from h/w RNG's 2002-10-04 20:34:08 +00:00
Sam Leffler
107c3eaaac Crypto device driver for Broadcom-based cards. Known to work with 582x-based
cards.  Supposed to work with several others.

Obtained from:	openbsd
2002-10-04 20:33:20 +00:00
Sam Leffler
6d161891fe Crypto device driver for hifn-based cards. Tested with 7951-, and 7811-based
cards.  Claimed to support many others.

Obtained from:	 openbsd
2002-10-04 20:32:37 +00:00
Sam Leffler
091d81d134 In-kernel crypto framework derived from openbsd. This facility provides
a consistent interface to h/w and s/w crypto algorithms for use by the
kernel and (for h/w at least) by user-mode apps.  Access for user-level
code is through a /dev/crypto device that'll eventually be used by openssl
to (potentially) accelerate many applications.  Coming soon is an IPsec
that makes use of this service to accelerate ESP, AH, and IPCOMP protocols.

Included here is the "core" crypto support, /dev/crypto driver, various
crypto algorithms that are not already present in the KAME crypto area,
and support routines used by crypto device drivers.

Obtained from:	openbsd
2002-10-04 20:31:23 +00:00
Poul-Henning Kamp
5fd43411f3 Give make(1) the ability to use KQUEUE to wait for worker processes
instead of polling for them.

Unfortunately we cannot enable it yet because it panics the kernel
somewhere in kqueue.

Submitted by:	Stefan Farfeleder <e0026813@stud3.tuwien.ac.at>
2002-10-04 20:30:03 +00:00
John Baldwin
fa778f80c2 Fix a bogon in previous commit. bcopy() from the malloc'd memory that we
already copied into, rather than doing the bcopy() from the userland
pointer.  "Oops."
2002-10-04 20:19:36 +00:00
Mitsuru IWASAKI
17341d1011 Resolve conflicts arising from the ACPI CA 20021002 import. 2002-10-04 20:09:19 +00:00
Mitsuru IWASAKI
2bff3f6b33 This commit was generated by cvs2svn to compensate for changes in r104470,
which included commits to RCS files with non-trunk default branches.
2002-10-04 20:07:58 +00:00