Date: Sat, 29 Jun 2002 10:33:26 -0700 (PDT) From: Bosko Milekic <bmilekic@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 13599 for review Message-ID: <200206291733.g5THXQZu041720@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=13599 Change 13599 by bmilekic@bmilekic_angela on 2002/06/29 10:32:45 Final IFC before KSEIII (just saw julian's Email about commit about to go in). Affected files ... .. //depot/projects/interrupt/sys/alpha/include/kse.h#1 branch .. //depot/projects/interrupt/sys/boot/alpha/boot1/boot1.c#3 integrate .. //depot/projects/interrupt/sys/boot/alpha/libalpha/common.h#2 integrate .. //depot/projects/interrupt/sys/conf/files.powerpc#4 integrate .. //depot/projects/interrupt/sys/ddb/db_elf.c#2 integrate .. //depot/projects/interrupt/sys/dev/bge/if_bge.c#5 integrate .. //depot/projects/interrupt/sys/dev/fxp/if_fxp.c#4 integrate .. //depot/projects/interrupt/sys/dev/lge/if_lge.c#3 integrate .. //depot/projects/interrupt/sys/dev/nge/if_nge.c#4 integrate .. //depot/projects/interrupt/sys/dev/sio/sio_ebus.c#2 integrate .. //depot/projects/interrupt/sys/geom/geom_aes.c#2 integrate .. //depot/projects/interrupt/sys/geom/geom_kern.c#3 integrate .. //depot/projects/interrupt/sys/i386/include/kse.h#1 branch .. //depot/projects/interrupt/sys/i386/isa/intr_machdep.h#5 integrate .. //depot/projects/interrupt/sys/kern/kern_descrip.c#6 integrate .. //depot/projects/interrupt/sys/kern/kern_event.c#4 integrate .. //depot/projects/interrupt/sys/kern/kern_exec.c#7 integrate .. //depot/projects/interrupt/sys/kern/kern_exit.c#6 integrate .. //depot/projects/interrupt/sys/kern/kern_ktrace.c#6 integrate .. //depot/projects/interrupt/sys/kern/kern_lockf.c#3 integrate .. //depot/projects/interrupt/sys/kern/kern_physio.c#3 integrate .. //depot/projects/interrupt/sys/kern/kern_prot.c#8 integrate .. //depot/projects/interrupt/sys/kern/kern_resource.c#4 integrate .. //depot/projects/interrupt/sys/kern/kern_sig.c#4 integrate .. //depot/projects/interrupt/sys/kern/kern_subr.c#6 integrate .. //depot/projects/interrupt/sys/kern/kern_synch.c#5 integrate .. //depot/projects/interrupt/sys/kern/kern_sysctl.c#4 integrate .. //depot/projects/interrupt/sys/kern/kern_thread.c#1 branch .. //depot/projects/interrupt/sys/kern/kern_time.c#4 integrate .. //depot/projects/interrupt/sys/kern/kern_xxx.c#3 integrate .. //depot/projects/interrupt/sys/kern/subr_disklabel.c#5 integrate .. //depot/projects/interrupt/sys/kern/subr_log.c#3 integrate .. //depot/projects/interrupt/sys/kern/subr_mbuf.c#5 integrate .. //depot/projects/interrupt/sys/kern/subr_prf.c#5 integrate .. //depot/projects/interrupt/sys/kern/subr_prof.c#3 integrate .. //depot/projects/interrupt/sys/kern/sys_pipe.c#7 integrate .. //depot/projects/interrupt/sys/kern/sys_socket.c#5 integrate .. //depot/projects/interrupt/sys/kern/uipc_cow.c#2 integrate .. //depot/projects/interrupt/sys/kern/uipc_jumbo.c#2 integrate .. //depot/projects/interrupt/sys/kern/uipc_socket.c#7 integrate .. //depot/projects/interrupt/sys/kern/uipc_socket2.c#5 integrate .. //depot/projects/interrupt/sys/kern/uipc_syscalls.c#7 integrate .. //depot/projects/interrupt/sys/kern/uipc_usrreq.c#5 integrate .. //depot/projects/interrupt/sys/kern/vfs_cache.c#6 integrate .. //depot/projects/interrupt/sys/kern/vfs_export.c#4 integrate .. //depot/projects/interrupt/sys/kern/vfs_subr.c#9 integrate .. //depot/projects/interrupt/sys/kern/vfs_syscalls.c#9 integrate .. //depot/projects/interrupt/sys/kern/vfs_vnops.c#9 integrate .. //depot/projects/interrupt/sys/netinet/tcp_syncache.c#7 integrate .. //depot/projects/interrupt/sys/nfsclient/nfs.h#4 integrate .. //depot/projects/interrupt/sys/nfsclient/nfs_bio.c#4 integrate .. //depot/projects/interrupt/sys/nfsclient/nfs_socket.c#4 integrate .. //depot/projects/interrupt/sys/nfsclient/nfs_vnops.c#3 integrate .. //depot/projects/interrupt/sys/pci/if_sk.c#3 integrate .. //depot/projects/interrupt/sys/pci/if_ti.c#5 integrate .. //depot/projects/interrupt/sys/pci/if_wb.c#3 integrate .. //depot/projects/interrupt/sys/powerpc/include/cpufunc.h#5 integrate .. //depot/projects/interrupt/sys/powerpc/include/critical.h#2 integrate .. //depot/projects/interrupt/sys/powerpc/include/in_cksum.h#1 branch .. //depot/projects/interrupt/sys/powerpc/include/pcb.h#4 integrate .. //depot/projects/interrupt/sys/powerpc/include/pmap.h#5 integrate .. //depot/projects/interrupt/sys/powerpc/powerpc/autoconf.c#3 integrate .. //depot/projects/interrupt/sys/powerpc/powerpc/bcopy.c#2 integrate .. //depot/projects/interrupt/sys/powerpc/powerpc/clock.c#4 integrate .. //depot/projects/interrupt/sys/powerpc/powerpc/in_cksum.c#1 branch .. //depot/projects/interrupt/sys/powerpc/powerpc/interrupt.c#1 branch .. //depot/projects/interrupt/sys/powerpc/powerpc/locore.s#5 integrate .. //depot/projects/interrupt/sys/powerpc/powerpc/ofw_machdep.c#4 integrate .. //depot/projects/interrupt/sys/powerpc/powerpc/pmap.c#7 integrate .. //depot/projects/interrupt/sys/powerpc/powerpc/swtch.s#5 integrate .. //depot/projects/interrupt/sys/powerpc/powerpc/trap_subr.S#2 integrate .. //depot/projects/interrupt/sys/sparc64/conf/GENERIC#6 integrate .. //depot/projects/interrupt/sys/sparc64/include/kse.h#1 branch .. //depot/projects/interrupt/sys/sparc64/include/profile.h#2 integrate .. //depot/projects/interrupt/sys/sparc64/sparc64/pmap.c#8 integrate .. //depot/projects/interrupt/sys/sys/event.h#3 integrate .. //depot/projects/interrupt/sys/sys/file.h#5 integrate .. //depot/projects/interrupt/sys/sys/jumbo.h#2 integrate .. //depot/projects/interrupt/sys/sys/kse.h#3 integrate .. //depot/projects/interrupt/sys/sys/mbuf.h#6 integrate .. //depot/projects/interrupt/sys/sys/socketvar.h#6 integrate .. //depot/projects/interrupt/sys/sys/vnode.h#5 integrate Differences ... ==== //depot/projects/interrupt/sys/boot/alpha/boot1/boot1.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/sys/boot/alpha/boot1/boot1.c,v 1.11 2002/06/11 10:19:59 phk Exp $ + * $FreeBSD: src/sys/boot/alpha/boot1/boot1.c,v 1.12 2002/06/29 02:32:32 peter Exp $ * From $NetBSD: bootxx.c,v 1.4 1997/09/06 14:08:29 drochner Exp $ */ @@ -253,7 +253,7 @@ char *name = "/boot/loader"; char *p; char filename[512]; - void (*entry) __P((void)); + void (*entry)(void); u_long start, freq; int i; ==== //depot/projects/interrupt/sys/boot/alpha/libalpha/common.h#2 (text+ko) ==== @@ -1,11 +1,11 @@ /* - * $FreeBSD: src/sys/boot/alpha/libalpha/common.h,v 1.2 1999/08/28 00:39:26 peter Exp $ + * $FreeBSD: src/sys/boot/alpha/libalpha/common.h,v 1.3 2002/06/29 02:32:32 peter Exp $ * From: $NetBSD: common.h,v 1.2 1998/01/05 07:02:48 perry Exp $ */ -int prom_open __P((char*, int)); -void OSFpal __P((void)); -void halt __P((void)); -u_int64_t prom_dispatch __P((int, ...)); -int cpu_number __P((void)); -void switch_palcode __P((void)); +int prom_open(char*, int); +void OSFpal(void); +void halt(void); +u_int64_t prom_dispatch(int, ...); +int cpu_number(void); +void switch_palcode(void); ==== //depot/projects/interrupt/sys/conf/files.powerpc#4 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.powerpc,v 1.10 2002/05/13 07:53:22 benno Exp $ +# $FreeBSD: src/sys/conf/files.powerpc,v 1.12 2002/06/29 09:50:20 benno Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -21,6 +21,8 @@ powerpc/powerpc/extintr.c standard powerpc/powerpc/fpu.c standard powerpc/powerpc/fuswintr.c standard +powerpc/powerpc/in_cksum.c optional inet +powerpc/powerpc/interrupt.c standard powerpc/powerpc/machdep.c standard powerpc/powerpc/nexus.c standard powerpc/powerpc/ofwmagic.s standard ==== //depot/projects/interrupt/sys/ddb/db_elf.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/ddb/db_elf.c,v 1.10 2002/05/07 10:59:52 bde Exp $ */ +/* $FreeBSD: src/sys/ddb/db_elf.c,v 1.11 2002/06/29 02:32:33 peter Exp $ */ /* $NetBSD: db_elf.c,v 1.4 1998/05/03 18:49:54 thorpej Exp $ */ /*- @@ -56,7 +56,7 @@ #include <machine/elf.h> -static char *db_elf_find_strtab __P((db_symtab_t *)); +static char *db_elf_find_strtab(db_symtab_t *); #define STAB_TO_SYMSTART(stab) ((Elf_Sym *)((stab)->start)) #define STAB_TO_SYMEND(stab) ((Elf_Sym *)((stab)->end)) ==== //depot/projects/interrupt/sys/dev/bge/if_bge.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/bge/if_bge.c,v 1.15 2002/06/24 22:28:42 mp Exp $ + * $FreeBSD: src/sys/dev/bge/if_bge.c,v 1.16 2002/06/29 01:36:59 alfred Exp $ */ /* @@ -122,7 +122,7 @@ #if !defined(lint) static const char rcsid[] = - "$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.15 2002/06/24 22:28:42 mp Exp $"; + "$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.16 2002/06/29 01:36:59 alfred Exp $"; #endif /* @@ -181,7 +181,7 @@ static int bge_alloc_jumbo_mem (struct bge_softc *); static void bge_free_jumbo_mem (struct bge_softc *); static void *bge_jalloc (struct bge_softc *); -static void bge_jfree (caddr_t, void *); +static void bge_jfree (void *, void *); static int bge_newbuf_std (struct bge_softc *, int, struct mbuf *); static int bge_newbuf_jumbo (struct bge_softc *, int, struct mbuf *); static int bge_init_rx_ring_std (struct bge_softc *); @@ -663,7 +663,7 @@ */ static void bge_jfree(buf, args) - caddr_t buf; + void *buf; void *args; { struct bge_jpool_entry *entry; ==== //depot/projects/interrupt/sys/dev/fxp/if_fxp.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.130 2002/06/05 18:34:08 ambrisko Exp $ + * $FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.131 2002/06/29 01:56:14 silby Exp $ */ /* @@ -160,6 +160,7 @@ { 0x1037, "Intel Pro/100 Ethernet" }, { 0x1038, "Intel Pro/100 Ethernet" }, { 0x1039, "Intel Pro/100 Ethernet" }, + { 0x103A, "Intel Pro/100 Ethernet" }, { 0, NULL }, }; ==== //depot/projects/interrupt/sys/dev/lge/if_lge.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/lge/if_lge.c,v 1.11 2002/04/28 20:34:20 phk Exp $ + * $FreeBSD: src/sys/dev/lge/if_lge.c,v 1.12 2002/06/29 01:36:59 alfred Exp $ */ /* @@ -114,7 +114,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sys/dev/lge/if_lge.c,v 1.11 2002/04/28 20:34:20 phk Exp $"; + "$FreeBSD: src/sys/dev/lge/if_lge.c,v 1.12 2002/06/29 01:36:59 alfred Exp $"; #endif /* @@ -132,7 +132,7 @@ static int lge_alloc_jumbo_mem (struct lge_softc *); static void lge_free_jumbo_mem (struct lge_softc *); static void *lge_jalloc (struct lge_softc *); -static void lge_jfree (caddr_t, void *); +static void lge_jfree (void *, void *); static int lge_newbuf (struct lge_softc *, struct lge_rx_desc *, @@ -917,7 +917,7 @@ * Release a jumbo buffer. */ static void lge_jfree(buf, args) - caddr_t buf; + void *buf; void *args; { struct lge_softc *sc; ==== //depot/projects/interrupt/sys/dev/nge/if_nge.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/nge/if_nge.c,v 1.32 2002/05/04 11:15:33 phk Exp $ + * $FreeBSD: src/sys/dev/nge/if_nge.c,v 1.33 2002/06/29 01:36:59 alfred Exp $ */ /* @@ -132,7 +132,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.32 2002/05/04 11:15:33 phk Exp $"; + "$FreeBSD: src/sys/dev/nge/if_nge.c,v 1.33 2002/06/29 01:36:59 alfred Exp $"; #endif #define NGE_CSUM_FEATURES (CSUM_IP | CSUM_TCP | CSUM_UDP) @@ -153,7 +153,7 @@ static int nge_alloc_jumbo_mem (struct nge_softc *); static void nge_free_jumbo_mem (struct nge_softc *); static void *nge_jalloc (struct nge_softc *); -static void nge_jfree (caddr_t, void *); +static void nge_jfree (void *, void *); static int nge_newbuf (struct nge_softc *, struct nge_desc *, struct mbuf *); @@ -1203,7 +1203,7 @@ * Release a jumbo buffer. */ static void nge_jfree(buf, args) - caddr_t buf; + void *buf; void *args; { struct nge_softc *sc; ==== //depot/projects/interrupt/sys/dev/sio/sio_ebus.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include <sys/cdefs.h> -__FBSDID($FreeBSD: src/sys/dev/sio/sio_ebus.c,v 1.1 2002/06/18 01:19:31 obrien Exp $); +__FBSDID($FreeBSD: src/sys/dev/sio/sio_ebus.c,v 1.2 2002/06/29 02:32:33 peter Exp $); #include <sys/param.h> #include <sys/systm.h> @@ -40,9 +40,9 @@ #include <ofw/openfirm.h> #include <sparc64/ebus/ebusvar.h> -int sio_ofw_inlist __P((char *name, char *list[])); -static int sio_ebus_attach __P((device_t dev)); -static int sio_ebus_probe __P((device_t dev)); +int sio_ofw_inlist(char *name, char *list[]); +static int sio_ebus_attach(device_t dev); +static int sio_ebus_probe(device_t dev); static device_method_t sio_ebus_methods[] = { /* Device interface */ ==== //depot/projects/interrupt/sys/geom/geom_aes.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/geom/geom_aes.c,v 1.2 2002/06/09 10:57:33 phk Exp $ + * $FreeBSD: src/sys/geom/geom_aes.c,v 1.3 2002/06/28 21:25:15 phk Exp $ * * This method provides AES encryption with a compiled in key (default * all zeroes). @@ -55,6 +55,9 @@ #include <sys/malloc.h> #include <sys/lock.h> #include <sys/mutex.h> +#include <sys/libkern.h> +#include <sys/md5.h> +#include <sys/endian.h> #endif #include <sys/errno.h> #include <geom/geom.h> @@ -65,26 +68,83 @@ #define AES_CLASS_NAME "AES" +#define MASTER_KEY_LENGTH (1024/8) + static u_char *aes_magic = "<<FreeBSD-GEOM-AES>>"; +static u_char *aes_magic_random = "<<FreeBSD-GEOM-AES-RANDOM>>"; +static u_char *aes_magic_test = "<<FreeBSD-GEOM-AES-TEST>>"; -static u_char aes_key[128 / 8] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; struct g_aes_softc { + enum { + KEY_ZERO, + KEY_RANDOM, + KEY_TEST + } keying; u_int sectorsize; off_t mediasize; - keyInstance ekey; - keyInstance dkey; cipherInstance ci; + u_char master_key[MASTER_KEY_LENGTH]; }; +/* + * Generate a sectorkey from the masterkey and the offset position. + * + * For KEY_ZERO we just return a key of all zeros. + * + * We feed the sector byte offset, 16 bytes of the master-key and + * the sector byte offset once more to MD5. + * The sector byte offset is converted to little-endian format first + * to support multi-architecture operation. + * We use 16 bytes from the master-key starting at the logical sector + * number modulus he length of the master-key. If need be we wrap + * around to the start of the master-key. + */ + +static void +g_aes_makekey(struct g_aes_softc *sc, off_t off, keyInstance *ki, int dir) +{ + MD5_CTX cx; + u_int64_t u64; + u_int u, u1; + u_char *p, buf[16]; + + if (sc->keying == KEY_ZERO) { + rijndael_makeKey(ki, dir, 128, sc->master_key); + return; + } + MD5Init(&cx); + u64 = htole64(off); + MD5Update(&cx, (u_char *)&u64, sizeof(u64)); + u = off / sc->sectorsize; + u %= sizeof sc->master_key; + p = sc->master_key + u; + if (u + 16 <= sizeof(sc->master_key)) { + MD5Update(&cx, p, 16); + } else { + u1 = sizeof sc->master_key - u; + MD5Update(&cx, p, u1); + MD5Update(&cx, sc->master_key, 16 - u1); + u1 = 0; /* destroy evidence */ + } + u = 0; /* destroy evidence */ + MD5Update(&cx, (u_char *)&u64, sizeof(u64)); + u64 = 0; /* destroy evidence */ + MD5Final(buf, &cx); + bzero(&cx, sizeof cx); /* destroy evidence */ + rijndael_makeKey(ki, dir, 128, buf); + bzero(buf, sizeof buf); /* destroy evidence */ + +} + static void g_aes_read_done(struct bio *bp) { struct g_geom *gp; struct g_aes_softc *sc; u_char *p, *b, *e, *sb; + keyInstance dkey; + off_t o; gp = bp->bio_from->geom; sc = gp->softc; @@ -92,17 +152,28 @@ b = bp->bio_data; e = bp->bio_data; e += bp->bio_length; + o = bp->bio_offset - sc->sectorsize; for (p = b; p < e; p += sc->sectorsize) { - rijndael_blockDecrypt(&sc->ci, &sc->dkey, p, sc->sectorsize * 8, sb); + g_aes_makekey(sc, o, &dkey, DIR_DECRYPT); + rijndael_blockDecrypt(&sc->ci, &dkey, p, sc->sectorsize * 8, sb); bcopy(sb, p, sc->sectorsize); + o += sc->sectorsize; } + bzero(&dkey, sizeof dkey); /* destroy evidence */ + bzero(sb, sc->sectorsize); /* destroy evidence */ + g_free(sb); g_std_done(bp); } static void g_aes_write_done(struct bio *bp) { + struct g_aes_softc *sc; + struct g_geom *gp; + gp = bp->bio_to->geom; + sc = gp->softc; + bzero(bp->bio_data, bp->bio_length); /* destroy evidence */ g_free(bp->bio_data); g_std_done(bp); } @@ -115,6 +186,8 @@ struct g_aes_softc *sc; struct bio *bp2; u_char *p1, *p2, *b, *e; + keyInstance ekey; + off_t o; gp = bp->bio_to->geom; cp = LIST_FIRST(&gp->consumer); @@ -135,11 +208,15 @@ e = bp->bio_data; e += bp->bio_length; p2 = bp2->bio_data; + o = bp->bio_offset; for (p1 = b; p1 < e; p1 += sc->sectorsize) { - rijndael_blockEncrypt(&sc->ci, &sc->ekey, + g_aes_makekey(sc, o, &ekey, DIR_ENCRYPT); + rijndael_blockEncrypt(&sc->ci, &ekey, p1, sc->sectorsize * 8, p2); p2 += sc->sectorsize; + o += sc->sectorsize; } + bzero(&ekey, sizeof ekey); /* destroy evidence */ g_io_request(bp2, cp); break; case BIO_GETATTR: @@ -166,6 +243,7 @@ { struct g_geom *gp; struct g_provider *pp; + struct g_aes_softc *sc; int error; g_trace(G_T_TOPOLOGY, "g_aes_orphan(%p/%s)", cp, cp->provider->name); @@ -174,10 +252,12 @@ ("g_aes_orphan with error == 0")); gp = cp->geom; + sc = gp->softc; gp->flags |= G_GEOM_WITHER; error = cp->provider->error; LIST_FOREACH(pp, &gp->provider, provider) g_orphan_provider(pp, error); + bzero(sc, sizeof(struct g_aes_softc)); /* destroy evidence */ return; } @@ -238,16 +318,46 @@ if (buf == NULL || error != 0) { break; } - if (memcmp(buf, aes_magic, strlen(aes_magic))) + sc = g_malloc(sizeof(struct g_aes_softc), M_WAITOK | M_ZERO); + if (!memcmp(buf, aes_magic, strlen(aes_magic))) { + sc->keying = KEY_ZERO; + } else if (!memcmp(buf, aes_magic_random, + strlen(aes_magic_random))) { + sc->keying = KEY_RANDOM; + } else if (!memcmp(buf, aes_magic_test, + strlen(aes_magic_test))) { + sc->keying = KEY_TEST; + } else { + g_free(sc); break; - sc = g_malloc(sizeof(struct g_aes_softc), M_WAITOK | M_ZERO); + } gp->softc = sc; gp->access = g_aes_access; sc->sectorsize = sectorsize; sc->mediasize = mediasize - sectorsize; rijndael_cipherInit(&sc->ci, MODE_CBC, NULL); - rijndael_makeKey(&sc->ekey, DIR_ENCRYPT, 128, aes_key); - rijndael_makeKey(&sc->dkey, DIR_DECRYPT, 128, aes_key); + if (sc->keying == KEY_TEST) { + int i; + u_char *p; + + p = sc->master_key; + for (i = 0; i < sizeof sc->master_key; i ++) + *p++ = i; + } + if (sc->keying == KEY_RANDOM) { + int i; + u_int32_t u; + u_char *p; + + p = sc->master_key; + for (i = 0; i < sizeof sc->master_key; i += sizeof u) { + u = arc4random(); + *p++ = u; + *p++ = u >> 8; + *p++ = u >> 16; + *p++ = u >> 24; + } + } pp = g_new_providerf(gp, gp->name); pp->mediasize = mediasize - sectorsize; g_error_provider(pp, 0); ==== //depot/projects/interrupt/sys/geom/geom_kern.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/geom/geom_kern.c,v 1.3 2002/03/26 22:07:38 phk Exp $ + * $FreeBSD: src/sys/geom/geom_kern.c,v 1.4 2002/06/29 07:47:20 julian Exp $ */ #include <sys/param.h> @@ -63,7 +63,7 @@ g_up_procbody(void) { struct proc *p = g_up_proc; - struct thread *tp = &p->p_xxthread; + struct thread *tp = FIRST_THREAD_IN_PROC(p); curthread->td_base_pri = PRIBIO; for(;;) { @@ -86,7 +86,7 @@ g_down_procbody(void) { struct proc *p = g_down_proc; - struct thread *tp = &p->p_xxthread; + struct thread *tp = FIRST_THREAD_IN_PROC(p); curthread->td_base_pri = PRIBIO; for(;;) { ==== //depot/projects/interrupt/sys/i386/isa/intr_machdep.h#5 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/isa/intr_machdep.h,v 1.40 2002/04/06 08:25:05 nyan Exp $ + * $FreeBSD: src/sys/i386/isa/intr_machdep.h,v 1.41 2002/06/29 02:32:33 peter Exp $ */ #ifndef _I386_ISA_INTR_MACHDEP_H_ @@ -140,7 +140,7 @@ * Type of the first (asm) part of an interrupt handler. */ typedef void inthand_t(u_int cs, u_int ef, u_int esp, u_int ss); -typedef void unpendhand_t __P((void)); +typedef void unpendhand_t(void); #define IDTVEC(name) __CONCAT(X,name) ==== //depot/projects/interrupt/sys/kern/kern_descrip.c#6 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_descrip.c 8.6 (Berkeley) 4/19/94 - * $FreeBSD: src/sys/kern/kern_descrip.c,v 1.148 2002/05/31 11:52:29 tanimura Exp $ + * $FreeBSD: src/sys/kern/kern_descrip.c,v 1.149 2002/06/29 01:50:24 alfred Exp $ */ #include "opt_compat.h" @@ -99,7 +99,7 @@ static int do_dup(struct filedesc *fdp, int old, int new, register_t *retval, struct thread *td); static int badfo_readwrite(struct file *fp, struct uio *uio, struct ucred *cred, int flags, struct thread *td); -static int badfo_ioctl(struct file *fp, u_long com, caddr_t data, +static int badfo_ioctl(struct file *fp, u_long com, void *data, struct thread *td); static int badfo_poll(struct file *fp, int events, struct ucred *cred, struct thread *td); @@ -313,34 +313,34 @@ fp->f_flag &= ~FCNTLFLAGS; fp->f_flag |= FFLAGS(uap->arg & ~O_ACCMODE) & FCNTLFLAGS; tmp = fp->f_flag & FNONBLOCK; - error = fo_ioctl(fp, FIONBIO, (caddr_t)&tmp, td); + error = fo_ioctl(fp, FIONBIO, &tmp, td); if (error) { fdrop(fp, td); break; } tmp = fp->f_flag & FASYNC; - error = fo_ioctl(fp, FIOASYNC, (caddr_t)&tmp, td); + error = fo_ioctl(fp, FIOASYNC, &tmp, td); if (!error) { fdrop(fp, td); break; } fp->f_flag &= ~FNONBLOCK; tmp = 0; - (void)fo_ioctl(fp, FIONBIO, (caddr_t)&tmp, td); + (void)fo_ioctl(fp, FIONBIO, &tmp, td); fdrop(fp, td); break; case F_GETOWN: fhold(fp); FILEDESC_UNLOCK(fdp); - error = fo_ioctl(fp, FIOGETOWN, (caddr_t)td->td_retval, td); + error = fo_ioctl(fp, FIOGETOWN, (void *)td->td_retval, td); fdrop(fp, td); break; case F_SETOWN: fhold(fp); FILEDESC_UNLOCK(fdp); - error = fo_ioctl(fp, FIOSETOWN, (caddr_t)&uap->arg, td); + error = fo_ioctl(fp, FIOSETOWN, &uap->arg, td); fdrop(fp, td); break; @@ -363,8 +363,7 @@ vp = (struct vnode *)fp->f_data; /* Copy in the lock structure */ - error = copyin((caddr_t)(intptr_t)uap->arg, (caddr_t)&fl, - sizeof(fl)); + error = copyin((caddr_t)(intptr_t)uap->arg, &fl, sizeof(fl)); if (error) { fdrop(fp, td); break; @@ -434,8 +433,7 @@ vp = (struct vnode *)fp->f_data; /* Copy in the lock structure */ - error = copyin((caddr_t)(intptr_t)uap->arg, (caddr_t)&fl, - sizeof(fl)); + error = copyin((caddr_t)(intptr_t)uap->arg, &fl, sizeof(fl)); if (error) { fdrop(fp, td); break; @@ -461,8 +459,8 @@ &fl, F_POSIX); fdrop(fp, td); if (error == 0) { - error = copyout((caddr_t)&fl, - (caddr_t)(intptr_t)uap->arg, sizeof(fl)); + error = copyout(&fl, (caddr_t)(intptr_t)uap->arg, + sizeof(fl)); } break; default: @@ -835,7 +833,7 @@ error = fo_stat(fp, &ub, td); if (error == 0) { cvtstat(&ub, &oub); - error = copyout((caddr_t)&oub, (caddr_t)uap->sb, sizeof (oub)); + error = copyout(&oub, uap->sb, sizeof (oub)); } fdrop(fp, td); done2: @@ -871,7 +869,7 @@ goto done2; error = fo_stat(fp, &ub, td); if (error == 0) - error = copyout((caddr_t)&ub, (caddr_t)uap->sb, sizeof (ub)); + error = copyout(&ub, uap->sb, sizeof (ub)); fdrop(fp, td); done2: mtx_unlock(&Giant); @@ -907,7 +905,7 @@ error = fo_stat(fp, &ub, td); if (error == 0) { cvtnstat(&ub, &nub); - error = copyout((caddr_t)&nub, (caddr_t)uap->sb, sizeof (nub)); + error = copyout(&nub, uap->sb, sizeof (nub)); } fdrop(fp, td); done2: @@ -1563,7 +1561,7 @@ break; } NDFREE(&nd, NDF_ONLY_PNBUF); - fp->f_data = (caddr_t)nd.ni_vp; + fp->f_data = nd.ni_vp; fp->f_flag = flags; fp->f_ops = &vnops; fp->f_type = DTYPE_VNODE; @@ -2067,7 +2065,7 @@ return (error); } - error = SYSCTL_OUT(req, (caddr_t)&filehead, sizeof(filehead)); + error = SYSCTL_OUT(req, &filehead, sizeof(filehead)); if (error) { sx_sunlock(&filelist_lock); return (error); @@ -2077,7 +2075,7 @@ * followed by an array of file structures */ LIST_FOREACH(fp, &filehead, f_list) { - error = SYSCTL_OUT(req, (caddr_t)fp, sizeof (struct file)); + error = SYSCTL_OUT(req, fp, sizeof (struct file)); if (error) { sx_sunlock(&filelist_lock); return (error); @@ -2145,7 +2143,7 @@ badfo_ioctl(fp, com, data, td) struct file *fp; u_long com; - caddr_t data; + void *data; struct thread *td; { ==== //depot/projects/interrupt/sys/kern/kern_event.c#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/kern/kern_event.c,v 1.39 2002/05/19 00:14:48 jhb Exp $ + * $FreeBSD: src/sys/kern/kern_event.c,v 1.41 2002/06/29 01:50:24 alfred Exp $ */ #include <sys/param.h> @@ -60,7 +60,7 @@ struct ucred *cred, int flags, struct thread *td); static int kqueue_write(struct file *fp, struct uio *uio, struct ucred *cred, int flags, struct thread *td); -static int kqueue_ioctl(struct file *fp, u_long com, caddr_t data, +static int kqueue_ioctl(struct file *fp, u_long com, void *data, struct thread *td); static int kqueue_poll(struct file *fp, int events, struct ucred *cred, struct thread *td); @@ -334,7 +334,7 @@ M_KQUEUE, M_WAITOK); callout_init(calloutp, 0); callout_reset(calloutp, tticks, filt_timerexpire, kn); - kn->kn_hook = (caddr_t)calloutp; + kn->kn_hook = calloutp; return (0); } @@ -380,7 +380,7 @@ fp->f_type = DTYPE_KQUEUE; fp->f_ops = &kqueueops; TAILQ_INIT(&kq->kq_head); - fp->f_data = (caddr_t)kq; + fp->f_data = kq; FILE_UNLOCK(fp); FILEDESC_LOCK(fdp); td->td_retval[0] = fd; @@ -446,8 +446,8 @@ if (uap->nevents != 0) { kevp->flags = EV_ERROR; kevp->data = error; - (void) copyout((caddr_t)kevp, - (caddr_t)uap->eventlist, + (void) copyout(kevp, + uap->eventlist, sizeof(*kevp)); uap->eventlist++; uap->nevents--; @@ -751,7 +751,7 @@ count--; if (nkev == KQ_NEVENTS) { splx(s); - error = copyout((caddr_t)&kq->kq_kev, (caddr_t)ulistp, + error = copyout(&kq->kq_kev, ulistp, sizeof(struct kevent) * nkev); ulistp += nkev; nkev = 0; @@ -765,7 +765,7 @@ splx(s); done: if (nkev != 0) - error = copyout((caddr_t)&kq->kq_kev, (caddr_t)ulistp, + error = copyout(&kq->kq_kev, ulistp, sizeof(struct kevent) * nkev); td->td_retval[0] = maxevents - count; return (error); @@ -793,7 +793,7 @@ /*ARGSUSED*/ static int -kqueue_ioctl(struct file *fp, u_long com, caddr_t data, struct thread *td) +kqueue_ioctl(struct file *fp, u_long com, void *data, struct thread *td) { return (ENOTTY); } @@ -980,7 +980,7 @@ FILEDESC_LOCK(fdp); goto retry; } - bcopy((caddr_t)fdp->fd_knlist, (caddr_t)list, + bcopy(fdp->fd_knlist, list, fdp->fd_knlistsize * sizeof(struct klist *)); bzero((caddr_t)list + fdp->fd_knlistsize * sizeof(struct klist *), ==== //depot/projects/interrupt/sys/kern/kern_exec.c#7 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/kern/kern_exec.c,v 1.167 2002/06/25 18:14:38 alc Exp $ + * $FreeBSD: src/sys/kern/kern_exec.c,v 1.168 2002/06/29 01:50:24 alfred Exp $ */ #include <sys/param.h> @@ -353,7 +353,7 @@ p->p_flag |= P_EXEC; if (p->p_pptr && (p->p_flag & P_PPWAIT)) { p->p_flag &= ~P_PPWAIT; - wakeup((caddr_t)p->p_pptr); + wakeup(p->p_pptr); } /* ==== //depot/projects/interrupt/sys/kern/kern_exit.c#6 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_exit.c 8.7 (Berkeley) 2/12/94 - * $FreeBSD: src/sys/kern/kern_exit.c,v 1.168 2002/06/24 15:48:01 jake Exp $ + * $FreeBSD: src/sys/kern/kern_exit.c,v 1.169 2002/06/29 01:50:24 alfred Exp $ */ #include "opt_compat.h" @@ -157,7 +157,7 @@ q = q->p_peers; } while (p->p_peers) - msleep((caddr_t)p, &p->p_mtx, PWAIT, "exit1", 0); + msleep(p, &p->p_mtx, PWAIT, "exit1", 0); } PROC_UNLOCK(p); @@ -212,7 +212,7 @@ while (q->p_peers != p) q = q->p_peers; q->p_peers = p->p_peers; - wakeup((caddr_t)p->p_leader); + wakeup(p->p_leader); } PROC_UNLOCK(p->p_leader); @@ -348,7 +348,7 @@ sx_xlock(&proctree_lock); q = LIST_FIRST(&p->p_children); if (q != NULL) /* only need this if any child is S_ZOMB */ - wakeup((caddr_t) initproc); + wakeup(initproc); for (; q != NULL; q = nq) { nq = LIST_NEXT(q, p_sibling); PROC_LOCK(q); @@ -401,7 +401,7 @@ * continue. */ if (LIST_EMPTY(&pp->p_children)) - wakeup((caddr_t)pp); + wakeup(pp); } if (p->p_sigparent && p->p_pptr != initproc) @@ -414,7 +414,7 @@ * If this is a kthread, then wakeup anyone waiting for it to exit. */ if (p->p_flag & P_KTHREAD) - wakeup((caddr_t)p); + wakeup(p); PROC_UNLOCK(p); /* @@ -569,8 +569,8 @@ if (uap->status) { status = p->p_xstat; /* convert to int */ PROC_UNLOCK(p); - if ((error = copyout((caddr_t)&status, - (caddr_t)uap->status, sizeof(status)))) { + if ((error = copyout(&status, + uap->status, sizeof(status)))) { sx_xunlock(&proctree_lock); mtx_unlock(&Giant); return (error); @@ -580,9 +580,8 @@ if (uap->rusage) { bcopy(p->p_ru, &ru, sizeof(ru)); PROC_UNLOCK(p); - if ((error = copyout((caddr_t)&ru, - (caddr_t)uap->rusage, - sizeof (struct rusage)))) { + if ((error = copyout(&ru, + uap->rusage, sizeof (struct rusage)))) { sx_xunlock(&proctree_lock); mtx_unlock(&Giant); return (error); @@ -599,7 +598,7 @@ proc_reparent(p, t); PROC_UNLOCK(p); psignal(t, SIGCHLD); - wakeup((caddr_t)t); + wakeup(t); PROC_UNLOCK(t); sx_xunlock(&proctree_lock); mtx_unlock(&Giant); @@ -685,8 +684,8 @@ if (uap->status) { status = W_STOPCODE(p->p_xstat); PROC_UNLOCK(p); - error = copyout((caddr_t)&status, - (caddr_t)uap->status, sizeof(status)); + error = copyout(&status, + uap->status, sizeof(status)); } else { PROC_UNLOCK(p); error = 0; @@ -702,8 +701,8 @@ if (uap->status) { status = SIGCONT; - error = copyout((caddr_t)&status, - (caddr_t)uap->status, sizeof(status)); + error = copyout(&status, + uap->status, sizeof(status)); } else error = 0; @@ -725,7 +724,7 @@ } PROC_LOCK(q); sx_xunlock(&proctree_lock); >>> TRUNCATED FOR MAIL (1000 lines) <<< To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200206291733.g5THXQZu041720>