From owner-p4-projects@FreeBSD.ORG Fri Jan 27 07:55:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE59016A423; Fri, 27 Jan 2006 07:55:14 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7258616A420 for ; Fri, 27 Jan 2006 07:55:14 +0000 (GMT) (envelope-from alc@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1FFA543D45 for ; Fri, 27 Jan 2006 07:55:14 +0000 (GMT) (envelope-from alc@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k0R7tEOD088332 for ; Fri, 27 Jan 2006 07:55:14 GMT (envelope-from alc@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k0R7tDFS088329 for perforce@freebsd.org; Fri, 27 Jan 2006 07:55:13 GMT (envelope-from alc@freebsd.org) Date: Fri, 27 Jan 2006 07:55:13 GMT Message-Id: <200601270755.k0R7tDFS088329@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to alc@freebsd.org using -f From: Alan Cox To: Perforce Change Reviews Cc: Subject: PERFORCE change 90459 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2006 07:55:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=90459 Change 90459 by alc@alc_home on 2006/01/27 07:54:23 IFC Affected files ... .. //depot/projects/superpages/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#4 integrate .. //depot/projects/superpages/src/lib/libc/stdlib/malloc.c#5 integrate .. //depot/projects/superpages/src/share/man/man5/rc.conf.5#4 integrate .. //depot/projects/superpages/src/sys/kern/vfs_aio.c#5 integrate .. //depot/projects/superpages/src/sys/vm/vm_map.c#4 integrate .. //depot/projects/superpages/src/sys/vm/vm_object.c#6 integrate .. //depot/projects/superpages/src/sys/vm/vm_pageout.c#7 integrate .. //depot/projects/superpages/src/sys/vm/vm_pageq.c#8 integrate .. //depot/projects/superpages/www/en/releases/6.1R/todo.sgml#3 integrate Differences ... ==== //depot/projects/superpages/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -4810,12 +4810,11 @@ root's email account, are being read. No more configuration will be required here. - After installation, an administrator must update the database - stored locally in - /var/db/portaudit by - invoking the following command: + After installation, an administrator can update the database + and view known vulnerabilities in installed packages by invoking + the following command: - &prompt.root; portaudit -F + &prompt.root; portaudit -Fda The database will automatically be updated during the @@ -4825,12 +4824,13 @@ To audit the third party utilities installed as part of - the Ports Collection, an administrator need only run the - following command: + the Ports Collection at anytime, an administrator need only run + the following command: &prompt.root; portaudit -a - An example of output is provided: + Portaudit will produce something + like this for vulnerable packages: Affected package: cups-base-1.1.22.0_1 Type of problem: cups-base -- HPGL buffer overflow vulnerability. ==== //depot/projects/superpages/src/lib/libc/stdlib/malloc.c#5 (text+ko) ==== @@ -133,10 +133,19 @@ /******************************************************************************/ -#define MALLOC_DEBUG +/* + * In order to disable various extra features that may have negative + * performance impacts, (assertions, expanded statistics, redzones), define + * NO_MALLOC_EXTRAS. + */ +/* #define NO_MALLOC_EXTRAS */ + +#ifndef NO_MALLOC_EXTRAS +# define MALLOC_DEBUG +#endif #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.106 2006/01/26 08:11:23 jasone Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.109 2006/01/27 04:42:10 jasone Exp $"); #include "libc_private.h" #ifdef MALLOC_DEBUG @@ -176,13 +185,16 @@ * Calculate statistics that can be used to get an idea of how well caching is * working. */ -#define MALLOC_STATS -#define MALLOC_STATS_ARENAS +#ifndef NO_MALLOC_EXTRAS +# define MALLOC_STATS +#endif /* * Include redzones before/after every region, and check for buffer overflows. */ -#define MALLOC_REDZONES +#ifndef NO_MALLOC_EXTRAS +# define MALLOC_REDZONES +#endif #ifdef MALLOC_REDZONES # define MALLOC_RED_2POW 4 # define MALLOC_RED ((size_t)(1 << MALLOC_RED_2POW)) @@ -298,10 +310,10 @@ uint64_t nrequests; /* - * Number of best-fit allocations that were successfully serviced by + * Number of exact-fit allocations that were successfully serviced by * this bin. */ - uint64_t nfit; + uint64_t nserviced; /* High-water marks for this bin. */ unsigned long highcached; @@ -311,7 +323,7 @@ * during normal operation, so is maintained here in order to allow * calculating the high water mark. */ - unsigned nregions; + unsigned long curcached; }; typedef struct arena_stats_s arena_stats_t; @@ -349,11 +361,8 @@ /* Frag statistics. */ struct { - /* - * Number of times a region is cached in the "frag" field of - * the arena. - */ - uint64_t ncached; + /* Number of times the "frag" field of the arena is refilled. */ + uint64_t nrefills; /* * Number of times a region is requested from the "frag" field @@ -377,18 +386,12 @@ uint64_t nrequests; /* - * Number of best-fit allocations that were successfully + * Number of allocation requests that were successfully * serviced by large_regions. */ - uint64_t nfit; + uint64_t nserviced; /* - * Number of allocation requests that were successfully serviced - * large_regions, but that a bin could have serviced. - */ - uint64_t noverfit; - - /* * High-water mark for large_regions (number of nodes in tree). */ unsigned long highcached; @@ -1176,7 +1179,7 @@ stats_arenas->split.nserviced += arena->stats.split.nserviced; /* Frag. */ - stats_arenas->frag.ncached += arena->stats.frag.ncached; + stats_arenas->frag.nrefills += arena->stats.frag.nrefills; stats_arenas->frag.nrequests += arena->stats.frag.nrequests; stats_arenas->frag.nserviced += arena->stats.frag.nserviced; @@ -1184,18 +1187,20 @@ for (i = 0; i < NBINS; i++) { stats_arenas->bins[i].nrequests += arena->stats.bins[i].nrequests; - stats_arenas->bins[i].nfit += arena->stats.bins[i].nfit; + stats_arenas->bins[i].nserviced += + arena->stats.bins[i].nserviced; if (arena->stats.bins[i].highcached > stats_arenas->bins[i].highcached) { stats_arenas->bins[i].highcached = arena->stats.bins[i].highcached; } + stats_arenas->bins[i].curcached + += arena->stats.bins[i].curcached; } /* large and large_regions. */ stats_arenas->large.nrequests += arena->stats.large.nrequests; - stats_arenas->large.nfit += arena->stats.large.nfit; - stats_arenas->large.noverfit += arena->stats.large.noverfit; + stats_arenas->large.nserviced += arena->stats.large.nserviced; if (arena->stats.large.highcached > stats_arenas->large.highcached) stats_arenas->large.highcached = arena->stats.large.highcached; stats_arenas->large.curcached += arena->stats.large.curcached; @@ -1227,28 +1232,29 @@ stats_arenas->split.nserviced); malloc_printf("cached frag usage:\n"); - malloc_printf(" %13s%13s%13s\n", "ncached", "nrequests", "nserviced"); - malloc_printf(" %13llu%13llu%13llu\n", stats_arenas->frag.ncached, + malloc_printf(" %13s%13s%13s\n", "nrefills", "nrequests", "nserviced"); + malloc_printf(" %13llu%13llu%13llu\n", stats_arenas->frag.nrefills, stats_arenas->frag.nrequests, stats_arenas->frag.nserviced); malloc_printf("bins:\n"); - malloc_printf(" %4s%7s%13s%13s%11s\n", "bin", - "size", "nrequests", "nfit", "highcached"); + malloc_printf(" %4s%7s%13s%13s%11s%11s\n", "bin", + "size", "nrequests", "nserviced", "highcached", "curcached"); for (i = 0; i < NBINS; i++) { malloc_printf( - " %4u%7u%13llu%13llu%11lu\n", + " %4u%7u%13llu%13llu%11lu%11lu\n", i, ((i + bin_shift) << opt_quantum_2pow), - stats_arenas->bins[i].nrequests, stats_arenas->bins[i].nfit, - stats_arenas->bins[i].highcached); + stats_arenas->bins[i].nrequests, + stats_arenas->bins[i].nserviced, + stats_arenas->bins[i].highcached, + stats_arenas->bins[i].curcached); } malloc_printf("large:\n"); - malloc_printf(" %13s%13s%13s%13s%13s\n", "nrequests", "nfit", - "noverfit", "highcached", "curcached"); - malloc_printf(" %13llu%13llu%13llu%13lu%13lu\n", - stats_arenas->large.nrequests, stats_arenas->large.nfit, - stats_arenas->large.noverfit, stats_arenas->large.highcached, - stats_arenas->large.curcached); + malloc_printf(" %13s%13s%13s%13s\n", "nrequests", "nserviced", + "highcached", "curcached"); + malloc_printf(" %13llu%13llu%13lu%13lu\n", + stats_arenas->large.nrequests, stats_arenas->large.nserviced, + stats_arenas->large.highcached, stats_arenas->large.curcached); malloc_printf("huge\n"); malloc_printf(" %13s\n", "nrequests"); @@ -1715,7 +1721,7 @@ qr_remove(reg, next.u.s.link); #ifdef MALLOC_STATS - arena->stats.bins[bin].nregions--; + arena->stats.bins[bin].curcached--; #endif if (qr_next(&tbin->regions, next.u.s.link) == &tbin->regions) arena_mask_unset(arena, bin); @@ -2066,12 +2072,12 @@ qr_new(reg, next.u.s.link); qr_before_insert(&tbin->regions, reg, next.u.s.link); #ifdef MALLOC_STATS - arena->stats.bins[bin].nregions++; + arena->stats.bins[bin].curcached++; - if (arena->stats.bins[bin].nregions + if (arena->stats.bins[bin].curcached > arena->stats.bins[bin].highcached) { arena->stats.bins[bin].highcached - = arena->stats.bins[bin].nregions; + = arena->stats.bins[bin].curcached; } #endif } @@ -2096,12 +2102,12 @@ qr_new(reg, next.u.s.link); qr_after_insert(&tbin->regions, reg, next.u.s.link); #ifdef MALLOC_STATS - arena->stats.bins[bin].nregions++; + arena->stats.bins[bin].curcached++; - if (arena->stats.bins[bin].nregions + if (arena->stats.bins[bin].curcached > arena->stats.bins[bin].highcached) { arena->stats.bins[bin].highcached - = arena->stats.bins[bin].nregions; + = arena->stats.bins[bin].curcached; } #endif } @@ -2123,7 +2129,7 @@ == ((bin + bin_shift) << opt_quantum_2pow)); qr_remove(ret, next.u.s.link); #ifdef MALLOC_STATS - arena->stats.bins[bin].nregions--; + arena->stats.bins[bin].curcached--; #endif if (qr_next(&tbin->regions, next.u.s.link) == &tbin->regions) arena_mask_unset(arena, bin); @@ -2479,7 +2485,7 @@ frag = node->reg; #ifdef MALLOC_STATS - arena->stats.frag.ncached++; + arena->stats.frag.nrefills++; #endif assert(region_next_free_get(&frag->sep)); region_next_free_unset(&frag->sep); @@ -2499,7 +2505,7 @@ /* Use the smallest available region. */ arena->frag = arena_bin_pop(arena, bin); #ifdef MALLOC_STATS - arena->stats.frag.ncached++; + arena->stats.frag.nrefills++; #endif total_size = region_next_size_get(&arena->frag->sep); @@ -2657,7 +2663,6 @@ #ifdef MALLOC_STATS arena->stats.split.nrequests++; #endif - if (region_next_size_get(&arena->split->sep) >= size) { if (fit) { size_t total_size; @@ -2778,7 +2783,6 @@ } #endif } - #ifdef MALLOC_STATS arena->stats.split.nserviced++; #endif @@ -2884,7 +2888,6 @@ } else arena_mru_cache(arena, next, next_size); } - #ifdef MALLOC_STATS arena->stats.nsplit++; #endif @@ -2911,7 +2914,7 @@ ret = arena_bin_pop(arena, bin); assert(region_next_size_get(&ret->sep) >= size); #ifdef MALLOC_STATS - arena->stats.bins[bin].nfit++; + arena->stats.bins[bin].nserviced++; #endif goto RETURN; } @@ -2967,10 +2970,7 @@ arena_reg_fit(arena, size, ret, false); #ifdef MALLOC_STATS - if (size > bin_maxsize) - arena->stats.large.nfit++; - else - arena->stats.large.noverfit++; + arena->stats.large.nserviced++; #endif RETURN: @@ -3962,13 +3962,12 @@ } } -RETURN: #ifdef MALLOC_STATS malloc_mutex_lock(&arena->mtx); arena->stats.npalloc++; malloc_mutex_unlock(&arena->mtx); #endif - +RETURN: if (opt_junk) { if (ret != NULL) memset(ret, 0xa5, size); @@ -4118,12 +4117,12 @@ idalloc(ptr); -RETURN: #ifdef MALLOC_STATS malloc_mutex_lock(&arena->mtx); arena->stats.nralloc++; malloc_mutex_unlock(&arena->mtx); #endif +RETURN: return (ret); } @@ -4202,7 +4201,7 @@ { arena_stats_t stats_arenas; arena_t *arena; - unsigned i; + unsigned i, narenas_used; /* Print chunk stats. */ { @@ -4221,11 +4220,11 @@ chunks_stats.curchunks); } -#ifdef MALLOC_STATS_ARENAS /* Print stats for each arena. */ - for (i = 0; i < narenas; i++) { + for (i = 0, narenas_used = 0; i < narenas; i++) { arena = arenas[i]; if (arena != NULL) { + narenas_used++; malloc_printf( "\narenas[%u] statistics:\n", i); malloc_mutex_lock(&arena->mtx); @@ -4236,22 +4235,29 @@ " unused arena\n", i); } } -#endif - /* Merge arena stats from arenas. */ - memset(&stats_arenas, 0, sizeof(arena_stats_t)); - for (i = 0; i < narenas; i++) { - arena = arenas[i]; - if (arena != NULL) { - malloc_mutex_lock(&arena->mtx); - stats_merge(arena, &stats_arenas); - malloc_mutex_unlock(&arena->mtx); + /* + * Only print merged stats if multiple arenas were + * used. + */ + if (narenas_used > 1) { + /* Merge arena stats from arenas. */ + memset(&stats_arenas, 0, sizeof(arena_stats_t)); + for (i = 0; i < narenas; i++) { + arena = arenas[i]; + if (arena != NULL) { + malloc_mutex_lock(&arena->mtx); + stats_merge(arena, + &stats_arenas); + malloc_mutex_unlock( + &arena->mtx); + } } + + /* Print arena stats. */ + malloc_printf("\nMerged arena statistics:\n"); + stats_print(&stats_arenas); } - - /* Print arena stats. */ - malloc_printf("\nMerged arena statistics:\n"); - stats_print(&stats_arenas); } #endif /* #ifdef MALLOC_STATS */ malloc_printf("--- End malloc statistics ---\n"); ==== //depot/projects/superpages/src/share/man/man5/rc.conf.5#4 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man5/rc.conf.5,v 1.281 2006/01/21 18:08:16 yar Exp $ +.\" $FreeBSD: src/share/man/man5/rc.conf.5,v 1.282 2006/01/27 02:46:08 jkoshy Exp $ .\" .Dd January 21, 2006 .Dt RC.CONF 5 @@ -68,6 +68,11 @@ .Va rc_conf_files variable below. .Pp +Options are set with +.Dq Li name=value +assignments that use +.Xr sh 1 +syntax. The following list provides a name and short description for each variable that can be set in the .Nm @@ -3435,6 +3440,7 @@ .Xr info 1 , .Xr kbdcontrol 1 , .Xr makewhatis 1 , +.Xr sh 1 , .Xr vi 1 , .Xr vidcontrol 1 , .Xr ip 4 , ==== //depot/projects/superpages/src/sys/kern/vfs_aio.c#5 (text+ko) ==== @@ -19,7 +19,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_aio.c,v 1.216 2006/01/26 08:37:02 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_aio.c,v 1.217 2006/01/27 04:14:16 davidxu Exp $"); #include #include @@ -1547,7 +1547,6 @@ PROC_UNLOCK(p); suword(&uaiocb->_aiocb_private.error, error); suword(&uaiocb->_aiocb_private.status, status); - error = 0; } else { error = EINVAL; PROC_UNLOCK(p); ==== //depot/projects/superpages/src/sys/vm/vm_map.c#4 (text+ko) ==== @@ -63,7 +63,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_map.c,v 1.371 2005/12/04 22:55:41 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_map.c,v 1.372 2006/01/27 07:28:50 alc Exp $"); #include #include @@ -1426,7 +1426,7 @@ are_queues_locked = TRUE; vm_page_lock_queues(); } - if (p->queue == PQ_CACHE) + if (VM_PAGE_INQUEUE1(p, PQ_CACHE)) vm_page_deactivate(p); mpte = pmap_enter_quick(map->pmap, addr + ptoa(tmpidx), p, prot, mpte); ==== //depot/projects/superpages/src/sys/vm/vm_object.c#6 (text+ko) ==== @@ -63,7 +63,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_object.c,v 1.355 2006/01/25 08:42:58 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_object.c,v 1.356 2006/01/27 07:28:50 alc Exp $"); #include #include @@ -705,7 +705,7 @@ curgeneration = object->generation; p = vm_page_lookup(object, tscan); if (p == NULL || p->valid == 0 || - p->queue == PQ_CACHE) { + VM_PAGE_INQUEUE1(p, PQ_CACHE)) { if (--scanlimit == 0) break; ++tscan; @@ -794,7 +794,7 @@ if (((p->flags & PG_CLEANCHK) == 0) || (pi < tstart) || (pi >= tend) || (p->valid == 0) || - p->queue == PQ_CACHE) { + VM_PAGE_INQUEUE1(p, PQ_CACHE)) { vm_page_flag_clear(p, PG_CLEANCHK); continue; } @@ -872,7 +872,7 @@ (tp->flags & PG_CLEANCHK) == 0) || (tp->busy != 0)) break; - if (tp->queue == PQ_CACHE) { + if (VM_PAGE_INQUEUE1(tp, PQ_CACHE)) { vm_page_flag_clear(tp, PG_CLEANCHK); break; } @@ -900,7 +900,7 @@ (tp->flags & PG_CLEANCHK) == 0) || (tp->busy != 0)) break; - if (tp->queue == PQ_CACHE) { + if (VM_PAGE_INQUEUE1(tp, PQ_CACHE)) { vm_page_flag_clear(tp, PG_CLEANCHK); break; } ==== //depot/projects/superpages/src/sys/vm/vm_pageout.c#7 (text+ko) ==== @@ -73,7 +73,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_pageout.c,v 1.271 2005/12/31 14:39:20 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_pageout.c,v 1.272 2006/01/27 07:28:51 alc Exp $"); #include "opt_vm.h" #include @@ -337,7 +337,7 @@ ib = 0; break; } - if (p->queue == PQ_CACHE || + if (VM_PAGE_INQUEUE1(p, PQ_CACHE) || (p->flags & (PG_BUSY|PG_UNMANAGED)) || p->busy) { ib = 0; break; @@ -367,7 +367,7 @@ if ((p = vm_page_lookup(object, pindex + is)) == NULL) break; - if (p->queue == PQ_CACHE || + if (VM_PAGE_INQUEUE1(p, PQ_CACHE) || (p->flags & (PG_BUSY|PG_UNMANAGED)) || p->busy) { break; } ==== //depot/projects/superpages/src/sys/vm/vm_pageq.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_pageq.c,v 1.22 2006/01/24 19:24:54 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_pageq.c,v 1.23 2006/01/27 07:28:51 alc Exp $"); #include #include @@ -194,7 +194,7 @@ TAILQ_REMOVE(&pq->pl, m, pageq); (*pq->cnt)--; pq->lcnt--; - if (queue == PQ_CACHE) { + if (VM_PAGE_RESOLVEQUEUE(m, queue) == PQ_CACHE) { if (vm_paging_needed()) pagedaemon_wakeup(); } ==== //depot/projects/superpages/www/en/releases/6.1R/todo.sgml#3 (text+ko) ==== @@ -1,7 +1,7 @@ - + %navincludes; @@ -67,6 +67,13 @@ + quota deadlocks + &status.unknown; + + Quota support is not locked properly and causes deadlocks. + + + UFS deadlocks on amd64 &status.unknown; tegge @@ -91,62 +98,9 @@ sparc64 instability. &status.unknown; - - Outstanding recurrent issues include:
-panic: uma_small_alloc: free page still has mappings!
-cpuid = 0
-KDB: enter: panic
-[thread pid 9124 tid 100318 ]
-Stopped at      kdb_enter+0x3c: ta              %xcc, 1
-db> wh
-Tracing pid 9124 tid 100318 td 0xfffff800f6fb2720
-panic() at panic+0x164
-uma_small_alloc() at uma_small_alloc+0x9c
-slab_zalloc() at slab_zalloc+0x98
-uma_zone_slab() at uma_zone_slab+0x12c
-uma_zalloc_bucket() at uma_zalloc_bucket+0x16c
-uma_zalloc_arg() at uma_zalloc_arg+0x374
-malloc() at malloc+0x114
-allocbuf() at allocbuf+0x208
-getblk() at getblk+0x598
-breadn() at breadn+0x58
-bread() at bread+0x20
-ffs_blkatoff() at ffs_blkatoff+0x64
-ufs_direnter() at ufs_direnter+0x444
-ufs_makeinode() at ufs_makeinode+0x460
-ufs_create() at ufs_create+0x30
-VOP_CREATE_APV() at VOP_CREATE_APV+0xb4
-vn_open_cred() at vn_open_cred+0x188
-vn_open() at vn_open+0x18
-kern_open() at kern_open+0x8c
-pen() at open+0x14
-syscall() at syscall+0x2dc
--- syscall (5, FreeBSD ELF64, open) %o7=0x4034d5b8 --
-
-panic: trap: data access error
-cpuid = 1
-KDB: enter: panic
-[thread pid 2724 tid 100224 ]
-Stopped at      kdb_enter+0x3c: ta              %xcc, 1
-db> wh
-Tracing pid 2724 tid 100224 td 0xfffff8004e55a720
-panic() at panic+0x16c
-trap() at trap+0x3f0
--- data access error %o7=0xc017392c --
-copyout() at copyout+0xb0
-memrw() at memrw+0x2a8
-devfs_read_f() at devfs_read_f+0x9c
-dofileread() at dofileread+0xa4
-read() at read+0x38
-syscall() at syscall+0x2d4
--- syscall (3, FreeBSD ELF64, read) %o7=0x40339328 --
-
-(this one needs a port of
-
-1.117     +57 -33    src/sys/i386/i386/mem.c
-
-which marius is working on)
- + marius + sparc64 installability when accessing /dev/mem. Contact + marius or kris for debugging information. @@ -166,9 +120,8 @@ serious sparc64 IPv6 panic &status.unknown; - - Triggered by just ping6'ing the box. gnn keeps promising to - look at this but hasn't found it yet. It may even be a MI + gnn + Triggered by just ping6'ing the box. It may even be a MI issue, the reporter of this bug only uses IPv6 with sparc64.