Jeff Roberson [Thu, 2 May 2002 09:07:04 +0000 (09:07 +0000)]
Hide a pointer to the malloc_type bucket at the end of the freed memory. If
this memory is modified after it has been freed we can now report it's
previous owner.
Jeff Roberson [Thu, 2 May 2002 09:05:36 +0000 (09:05 +0000)]
Move around the dbg code a bit so it's always under a lock. This stops a
weird potential race if we were preempted right as we were doing the dbg
checks.
- Replaced the Atm_connection storage pool with an uma_zone of
Atm_connection items.
- Replaced the Atm_connvc storage pool with an uma_zone of Atm_connvc
items.
- Created void atm_cm_init(void *) and added it to the netatm init code.
I'm thinking that there will definetly be more ``subsystem'' init
functions to be added so I'll probably change these calls to be a for
loop through init routines (or something).
Jeff Roberson [Thu, 2 May 2002 07:22:19 +0000 (07:22 +0000)]
malloc/free(9) no longer require Giant. Use the malloc_mtx to protect the
mallochash. Mallochash is going to go away as soon as I introduce the
kfree/kmalloc api and partially overhaul the malloc wrapper. This can't happen
until all users of the malloc api that expect memory to be aligned on the size
of the allocation are fixed.
Juli Mallett [Thu, 2 May 2002 05:25:23 +0000 (05:25 +0000)]
Remove redundant declarations of getopt(3) externals (since <unistd.h> does
take care of them), and add __FreeBSD__ to the defined() checks for the
_PATH_DIVNAME.
xdm plays horrid tricks with PAM, and dumps core if it's allowed to call
pam_lastlog, so add a dummy session chain to avoid using the one from
pam.d/other. I assume gdm does something similar, so give it a dummy
session chain as well.
Juli Mallett [Thu, 2 May 2002 02:42:34 +0000 (02:42 +0000)]
Make -J a proper flag internal to the code (rather than just check for
use of replstr and lack of Iflag), and add -R, which when given with
-I controls the number of arguments on which replacement will be done.
Some people happen to think it's idiotic to limit to 5 arguments, so
let the user override it if they like.
Jeff Roberson [Thu, 2 May 2002 02:08:48 +0000 (02:08 +0000)]
Remove the temporary alignment check in free().
Implement the following checks on freed memory in the bucket path:
- Slab membership
- Alignment
- Duplicate free
This previously was only done if we skipped the buckets. This code will slow
down INVARIANTS a bit, but it is smp safe. The checks were moved out of the
normal path and into hooks supplied in uma_dbg.
Juli Mallett [Thu, 2 May 2002 02:06:03 +0000 (02:06 +0000)]
Rework some of the -I support so I can't find a way to make xargs(1) core or
corrupt memory. Simplifies the code in one or two places, also removes some
code that looks like it was bogus or incomplete.
Update strnsubst to have one or two extra conditions which maybe would make
it more efficient, or at least more versatile. This is likely a no-op.
Matt Jacob [Wed, 1 May 2002 21:58:36 +0000 (21:58 +0000)]
If we get a DATA UNDERRUN error from QLogic FC cards, but the RQCS_RU bit
is not set in the scsi completion status, or if the residual is clearly
nonsense, then this was a command that suffered the loss of one or more
FC frames in the middle of the exchange.
Set HBA_BOTCH and hope it will get retried. It's the only thing we can do.
Semen Ustimenko [Wed, 1 May 2002 19:23:04 +0000 (19:23 +0000)]
Add an epic_stats_update() function (called once per second). Even though
we don't collect any stats in it, we mii_tick() in it! This fix the bug
when autonegotiating fullduplex modes.
Also, pause activity before setting TXCON in epic_miibus_statchg(). Though
i've never seen problmes from not doing that, the documentation says we
need to do it.
Peter Wemm [Wed, 1 May 2002 06:49:43 +0000 (06:49 +0000)]
Make this compile and not segfault on ia64. ptr = strdup("foo"); is
fatal if the declaration of strdup() isn't in scope. The upper 32 bits
of the pointer are lost since it defaults to returning "int". Fix some
warnings while here, including trying to make gcc-3.1 happy.
Peter Wemm [Wed, 1 May 2002 06:48:29 +0000 (06:48 +0000)]
Add a hack so that fdisk(8) can initialize an ia64 disk. There is
no /boot/mbr to read the boot code from (ia64 does not *have* bootblocks!).
fdisk depended on magic in the /boot/mbr file to initialize some fields.
Crist J. Clark [Wed, 1 May 2002 06:29:16 +0000 (06:29 +0000)]
Enlighten those who read the FINE POINTS of the documentation a bit
more on how ipfw(8) deals with tiny fragments. While we're at it, add
a quick log message to even let people know we dropped a packet. (Note
that the second FINE POINT is somewhat redundant given the first, but
since the code is there, leave the docs for it.)
Matthew Hunt [Wed, 1 May 2002 06:20:57 +0000 (06:20 +0000)]
s/-300K/~300K/
This is an absolute (kelvin) temperature. I expect that in the original
source it was typeset as $\sim 300~{\rm K}$ or similar, meaning
"approximately 300 K". Changing it to a minus sign in the fortunes file
was clearly an error, as absolute temperatures are by definition positive.
Murray Stokely [Wed, 1 May 2002 04:53:36 +0000 (04:53 +0000)]
Add the System V shared memory modules to the mfsroot. This
functionality is required for the linux module, which is required by
many third party packages.
David E. O'Brien [Tue, 30 Apr 2002 22:40:06 +0000 (22:40 +0000)]
Add the ability to use Bzip'ed packages.
Also add the ability to use Bzip'ed distributions -- but this is exclusive
of being able to use Gzip'ed distributions.
Bruce A. Mah [Tue, 30 Apr 2002 19:40:22 +0000 (19:40 +0000)]
New release notes: bsd-airtools integration (+ MFC), reboot(8) -k (+
MFC), sysinstall(8) doesn't mount procfs(5) on new installs,
XFREE86_VERSION=4 default (+MFC), cross-version and cross-arch
releases.
Matthew Dillon [Tue, 30 Apr 2002 18:44:32 +0000 (18:44 +0000)]
These are Alexander Kabaev's VFSops fixes (see the thread 'Found: module
loading breakage'). The patch fixes serious issues with the VFS
operations vector array which results in a crash when a filesystem module
adding a new VOP is loaded into the kernel. Basically what was happening
before was that the old operations vector was being freed and a new one
allocated. The original MALLOC code tended to reuse the same address
for the case and so the bug did not rear its ugly head until the new memory
subsystem was emplaced.
This patch replaces the temporary workaround Dave O'Brien comitted in 1.58.
The patch is clean enough that I intend to MFC it to stable at some point.
Submitted by: Alexander Kabaev <ak03@gte.com>
MFC after: 1 week