Age | Commit message (Collapse) | Author |
|
field from the GPT header being checksum'd. First make sure the
size is in a valid range. In particular ensure it won't cause crc32()
to run off the end of the GPT header being checksum'd. Also check
GPT signature and version first. These checks were inadvertantly
moved after the checksumming.
This should fix the system crash reported by Ze Loff on bugs@.
|
|
also fix the confusing comment. ok guethner.
|
|
available to other areas of the kernel suffering from an overburden
of buf tweaking to read a disk sector.
ok mpi@
|
|
gpt_chk_hdr() and gpt_chk_parts().
Spotted when investigating zeloff's GPT bug report.
|
|
suspend on machines with em(4) now that it uses intr_barrier(9).
ok krw@
|
|
"dns" and "cmsg" in the `tamereq' array.
Restore the previous behaviour.
ok guenther@
|
|
ok krw
|
|
|
|
necessary
ok deraadt@ jsing@
|
|
It's a helper function for readdoslabel(). Not something called
outside of subr_disk.c.
|
|
really want it to do. Handle all the actual disklabel reading in
readdoslabel(). Makes the code much simpler to understand.
ok deraadt@
|
|
the sense that it guarantees that the specified CPU went through the
scheduler. This also guarantees that interrupt handlers running on that CPU
will have finished when sched_barrier() returns.
ok miod@, guenther@
|
|
over the tree.
much encouragement from l2k15
|
|
found by deraadt@
|
|
sleep_setup/sleep_finish.
|
|
refcnt(9) can be used.
|
|
its basically atomic inc/dec, but it includes magical sleep code
in refcnt_finalise that is better written once than many times.
refcnt_finalise sleeps until all references are released and does
so with sleep_setup and sleep_finalize, which is fairly subtle.
putting this in now so i we can get on with work in the stack, a
proper discussion about visibility and how available intrinsics
should be in the kernel can happen after next week.
with help from guenther@
ok guenther@ deraadt@ mpi@
|
|
logic a bit so that an invalid primary header/partition entries
table does not cause readgptlabel() to exit before the secondary
header is tried.
|
|
layer because the strings select the right options. Mechanical
conversion.
ok guenther
|
|
get_fstype() to gpt_get_fstype() as it moves.
|
|
of repeated lehto32() and lehtoh64() in readgptlabel() to make code
more readable.
|
|
to use.
|
|
tracking our discovery of the first OpenBSD partition (ourpart) and
just use the variable holding the offset of the first OpenBSD
partition (gptpartoff).
Move initialization of gptpartoff and gptpartend closer to their
use and set them when the first OpenBSD partition is found. Thus
eliminating a later 'if' statement.
|
|
|
|
|
|
dropped message error log.
OK benno@
|
|
for readgptlable() to re-check that the label d_secpercyl and
d_secsize are not 0.
|
|
with MBR EFI SYSTEM partitions.
|
|
multi page backend allocator implementation no longer needs to grab the
kernel lock.
ok mlarkin@, dlg@
|
|
function value the variable was being set to.
|
|
ok deraadt@
|
|
ok deraadt@ miod@
|
|
found, as is done in MBR processing.
|
|
without proper device trees.
Be sure to build and install config(8) and rerun it before attempting to build
a kernel.
ok kettenis@ deraadt@ jasper@ visa@
|
|
|
|
accidentally capture disks ...
Eliminate kernel option GPT and associated #ifdef GPT/#endif. Let
everybody get on the GPT bandwagon and we'll see what wheels fly
off.
Requested by & ok deraadt@
|
|
Call it if and only if there is an MBR on sector 0 that contains 1
and only 1 partition; that partition is an EFI partition; and it
covers the entire disk or as much of the disk as can be covered in
an MBR partition.
Be paranoid about restoring any possible tweaks to the label being
built in the case that readgptlabel() fails, and in that case return
to the readdoslabel() code.
ok deraadt@
|
|
found. Keep going until we spoof 8 or run out of partitions needing
spoofing.
|
|
It has already been initialized in the MD readdisklabel() routines
when they call initdisklabel().
ok deraadt@
|
|
|
|
which results in tame() code placements being much more recognizeable.
tame() can be moved to unistd.h and does not need cpp symbols to turn the
bits on and off. The resulting API is a bit unexpected, but simplifies the
mapping to enabling bits in the kernel substantially.
vague ok's from various including guenther doug semarie
|
|
this allows us to build lists of things that can be followed by
multiple cpus.
ok mpi@ claudio@
|
|
* pool_allocator_single: single page allocator, always interrupt safe
* pool_allocator_multi: multi-page allocator, interrupt safe
* pool_allocator_multi_ni: multi-page allocator, not interrupt-safe
ok deraadt@, dlg@
|
|
isn't specified) the default backend allocator implementation no longer
needs to grab the kernel lock.
ok visa@, guenther@
|
|
and doing VOP_WRITE() from inside tsleep/msleep makes the locking too
complicated, making it harder to move forward on MP changes.
ok deraadt@ kettenis@
|
|
in the (default) single page pool backend allocator. This means it is now
safe to call pool_get(9) and pool_put(9) for "small" items while holding
a mutex without holding the kernel lock as well as these functions will
no longer acquire the kernel lock under any circumstances. For "large" items
(where large is larger than 1/8th of a page) this still isn't safe though.
ok dlg@
|
|
length of the key as argument.
This way every consumer of the radix tree has a chance to explicitly
initialize the shared data structures and no longer rely on another
subsystem to do the initialization.
As a bonus ``dom_maxrtkey'' is no longer used an die.
ART kernels should now be fully usable because pf(4) and IPSEC properly
initialized the radix tree.
ok chris@, reyk@
|
|
|
|
log atempts. sendsyslog(2) is a good place to detect and report
the problem.
OK deraadt@
|
|
to return failure. open() of these paths should succeed to satisfy
strerror() and friends.
ok semarie
|