Date: Fri, 27 Jan 2006 07:55:13 GMT From: Alan Cox <alc@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 90459 for review Message-ID: <200601270755.k0R7tDFS088329@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 @@ <!-- The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml,v 1.285 2006/01/22 22:00:18 brd Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml,v 1.286 2006/01/27 05:43:53 brd Exp $ --> <chapter id="security"> @@ -4810,12 +4810,11 @@ <username>root</username>'s email account, are being read. No more configuration will be required here.</para> - <para>After installation, an administrator must update the database - stored locally in - <filename role="directory">/var/db/portaudit</filename> by - invoking the following command:</para> + <para>After installation, an administrator can update the database + and view known vulnerabilities in installed packages by invoking + the following command:</para> - <screen>&prompt.root; <userinput>portaudit -F</userinput></screen> + <screen>&prompt.root; <userinput>portaudit -Fda</userinput></screen> <note> <para>The database will automatically be updated during the @@ -4825,12 +4824,13 @@ </note> <para>To audit the third party utilities installed as part of - the Ports Collection, an administrator need only run the - following command:</para> + the Ports Collection at anytime, an administrator need only run + the following command:</para> <screen>&prompt.root; <userinput>portaudit -a</userinput></screen> - <para>An example of output is provided:</para> + <para><application>Portaudit</application> will produce something + like this for vulnerable packages:</para> <programlisting>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 <sys/cdefs.h> -__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 <sys/cdefs.h> -__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 <sys/param.h> #include <sys/systm.h> @@ -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 <sys/cdefs.h> -__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 <sys/param.h> #include <sys/systm.h> @@ -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 <sys/cdefs.h> -__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 <sys/param.h> #include <sys/systm.h> @@ -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 <sys/cdefs.h> -__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 <sys/param.h> @@ -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 <sys/cdefs.h> -__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 <sys/param.h> #include <sys/systm.h> @@ -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 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [ <!ENTITY base CDATA "../.."> <!ENTITY email 'freebsd-qa'> -<!ENTITY date "$FreeBSD: www/en/releases/6.1R/todo.sgml,v 1.4 2006/01/26 09:57:12 murray Exp $"> +<!ENTITY date "$FreeBSD: www/en/releases/6.1R/todo.sgml,v 1.6 2006/01/27 05:53:28 murray Exp $"> <!ENTITY local.rel "6.1"> <!ENTITY title "FreeBSD 6.1 Open Issues"> <!ENTITY % navincludes SYSTEM "../../includes.navdownload.sgml"> %navincludes; @@ -67,6 +67,13 @@ </tr> <tr> + <td>quota deadlocks</td> + <td>&status.unknown;</td> + <td></td> + <td>Quota support is not locked properly and causes deadlocks.</td> + </tr> + + <tr> <td>UFS deadlocks on amd64</td> <td>&status.unknown;</td> <td>tegge</td> @@ -91,62 +98,9 @@ <tr> <td>sparc64 instability.</td> <td>&status.unknown;</td> - <td></td> - <td>Outstanding recurrent issues include:<pre> -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)</pre> - </td> + <td>marius</td> + <td>sparc64 installability when accessing /dev/mem. Contact + marius or kris for debugging information.</td> </tr> <tr> @@ -166,9 +120,8 @@ <tr> <td>serious sparc64 IPv6 panic</td> <td>&status.unknown;</td> - <td></td> - <td>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 + <td>gnn</td> + <td>Triggered by just ping6'ing the box. It may even be a MI issue, the reporter of this bug only uses IPv6 with sparc64.</td> </tr>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601270755.k0R7tDFS088329>
