Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jul 95 14:40:04 MDT
From:      terry@cs.weber.edu (Terry Lambert)
To:        bugs@ns1.win.net (Mark Hittinger)
Cc:        hackers@freebsd.org
Subject:   Re: UID > 65536 works ? (fwd)
Message-ID:  <9507182040.AA24717@cs.weber.edu>
In-Reply-To: <199507181742.NAA00760@ns1.win.net> from "Mark Hittinger" at Jul 18, 95 01:42:42 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> Confess your 64 bit needs, as I have.  Come clean.
> 

Like in vfs_bios where it does a compare for <long> * <long> > <quad>,
where we know operator precedence will allow the <long> * <long> result
to be <long>, then convert it to <quad> for the compare (disabling
read ahead for all file ranges > 32 bits)?

Or the use of a signed long value for a bitmask being anded with a
quad mask value, which just *happens* to work because the high bit
is set in the mask and the mask variable is *incorrectly* signed so
a sign extension takes place setting all the upper bits to one?

The 64 bit code is largely broken in both NetBSD and FreeBSD.  Someone
with lot of time on their hands needs to go through and check every
quad value in the kernel.

For filler values in structures, character arrays should be used
instead of assuming sizeof(short) == 2 or sizeof(long) == 4; there's
even a *quad* being used as filler (GACK).

There's also dependence on quad support in the current code, which I
guess is OK if we nail ourselves permaently to the cross of GCC.  I'd
prefer to macroize structure declarations, divides, etc. to ensure
portability to "quad-not-supported" environemnts.  At the same time, the
use of only the long value instead of the quad implies a certain amount
of endien-ness: is the high or low order long the MSB of the quad?  On
Intel, it's the high order (the second long).  This bears on, for
instance, mounting UFS file systems under DOS.

Those kind of "64 bit needs"?


					Terry Lambert
					terry@cs.weber.edu
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9507182040.AA24717>