On Sun, 3 Feb 2002, John Polstra wrote:
> The kernel from today's current (CVSupped 3 Feb 2002 around 17:40
> PST) can't stay up for more than a few minutes without getting a
> page-not-present panic at line 1815 of ufs/ffs/ffs_alloc.c revision
> 1.86. It is in this code:
> * Find the size of the cluster going backward.
> start = blkno - 1;
> end = start - fs->fs_contigsumsize;
> if (end < 0)
> end = -1;
> mapp = &freemapp[start / NBBY];
> map = *mapp--;
This was broken by a recent change to the type of NBBY.
`start' is apparently negative (it would be for blkno == 0). Small
negative values of `start' used to give an index of 0 in freemapp (not
even small negative, since integer division bogusly rounds negative
values towards 0). They now give an index of about 0x1fffffff on
I also got panics in vm. The vm code apparently trapped while trying
to map the preposterous address generated by the above.
This patch just backs out the change to NBBY.
RCS file: /home/ncvs/src/sys/sys/types.h,v
retrieving revision 1.50
diff -u -2 -r1.50 types.h
--- types.h 3 Feb 2002 11:36:59 -0000 1.50
+++ types.h 4 Feb 2002 13:08:05 -0000
@@ -172,5 +172,5 @@
-#define NBBY 8U /* number of bits in a byte */
+#define NBBY 8 /* number of bits in a byte */
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message