Age | Commit message (Collapse) | Author |
|
ok mpi@ claudio@ henning@ and more at s2k15
|
|
entropy after resuming.
Tested on i386 and amd64.
ok deraadt@
|
|
this lets you run a filter function against each mbuf on a list or
queue. if the filter matches on an mbuf, it can return non-zero to
have ml_filter or mq_filter remove the mbuf and return it as part
of a chain of mbufs.
ok mpi@ claudio@ henning@ and s2k15 generally.
|
|
boot.
ok mlarkin
|
|
legitimately use random section variables without execve failures...
Because this section is not demand faulted, yield() every page during
the fill otherwise the costs are charged poorly.
ok tedu matthew
|
|
may not have been mapped previously (in the failure to hibernate case).
Also ensure that the lowmem ptp is mapped in all cases (not just MP).
ok kettenis
|
|
|
|
it has been unused since december, and unhooked from the build since
christmas.
ok krw@
|
|
when workqs were introduced, we provided a second argument so you
could pass a thing and some context to work on it in. there were
very few things that took advantage of the second argument, so when
i introduced pools i suggested removing it. since tasks were meant
to replace workqs, it was requested that we keep the second argument
to make porting from workqs to tasks easier.
now that workqs are gone, i had a look at the use of the second
argument again and found only one good use of it (vdsp(4) on sparc64
if you're interested) and a tiny handful of questionable uses. the
vast majority of tasks only used a single argument. i have since
modified all tasks that used two args to only use one, so now we
can remove the second argument.
so this is a mechanical change. all tasks only passed NULL as their
second argument, so we can just remove it.
ok krw@
|
|
a pie binary. The kernel will now reject executing a typical shared
library with EINVAL. This breaks compatibility with initial static pie
binaries and requires a recent user-land prior to upgrading. In
addition, more fine grained errors can be returned from execve(2)
when errors occur while attempting to execute ELF objects.
okay guenther@, kettenis@, deraadt@
|
|
This allows us the unmap the initial part of the stack, such that it can't
be used as a staging area for ROP (or other) attacks.
ok guenther@, tedu@
|
|
the items address is within the page. it does that by masking the
item address with the page mask and comparing that to the page
address.
however, if we're using large pages with external page headers, we
dont request that the large page be aligned to its size. eg, on an
arch with 4k pages, an 8k large page could be aligned to 4k, so
masking bits to get the page address wont work.
these incorrect checks were distracting while i was debugging large
pages on landisk.
this changes it to do range checks to see if the item is within the
page. it also checks if the item is on the page before checking if
its magic values or poison is right.
ok miod@
|
|
pass the size of the softc to free.
this time we only dereference the cfattach structure if we actually
need it once the refcount has dropped to 0.
tested by krw@ who found the original panic r1.80 was backed out for.
putting this in again so i can find out when else will break.
|
|
per-process value, and therefpore turns the VM_PSSTRINGS sysctl into a
per-process one as well. This gets rid of a pointer to the bottom of the
stack at a fixed location. Also clears the road for unmapping the stackgap.
ok deraadt@
|
|
ok deraadt@
|
|
|
|
|
|
Helg (xx404 (at) msn.com)
|
|
From Helg (xx404 (at) msn.com)
|
|
by compat/linux
|
|
ok krw@ bluhm@ deraadt@
|
|
|
|
ok deraadt@
|
|
|
|
|
|
and the bufq pointer might be NULL at the time it is `saved'.
Found the hard way on sparc due to the limited kva, with all disk active
processes ending up sleeping on "buf_needva".
ok kettenis@ krw@
|
|
|
|
battle tested by krw
|
|
"This makes the algorithm O(n^2), but do you think I care?"
a lot more meaningful, as discovered by krw.
fix the loop so it doesn't restart all the time, as it's not necessary.
(this was also tried years ago in rev 1.20 and reverted, but that change
also introduced pool_put before the namecache was ready to free things. we
have been freeing cache entries with pool_put for some time now, so that's
been made safe.)
ok deraadt krw
|
|
flags, not mmap-style flags for UVM_MAPFLAG(). Remove the nonsensical
MAP_ANON|MAP_SHARED value and convert MAP_FIXED to UVM_FLAG_FIXED.
OK guenther@
|
|
a fork.
ok deraadt@
|
|
in the signal trampoline. Solves some long-standing issues with debugging
signal handlers in GDB.
ok deraadt@
|
|
initialized. Calling malloc(9) at that point is not a good idea. So
initialize consbuf later.
Fixes dmesg -s on sparc64 (and probably a few other architectures).
ok miod@, deraadt@
|
|
Help and feedback by Theo and Miod.
OK deraadt@, manpage-ok jmc@
|
|
reported and revert tested by krw
|
|
must do that. otherwise, pmap_kremove is called twice. i386 in particular
does not tolerate that, found by sebastia
ok mlarkin kettenis
|
|
change on us. also, remove unused second arg to bufq_wait.
from pedro at bitrig via david hill.
ok beck kettenis
|
|
|
|
(accuracy of variable names, aside)
ok kettenis
|
|
an interrupt handler at an ipl level higher than what you're
splasserting you should be at. if you think code should be protected
by IPL_BIO and its entered from an interrupt handler established
at IPL_NET, you have a bug.
add some asserts to gets and puts so we can pick those cases up.
|
|
landisk machines. we've been unable to figure out due to a lack of
hardware (on my part) or time.
discussed with and ok miod@
|
|
pool_setlowat()
ok dlg@ tedu@
|
|
|
|
Diff from dlg@.
ok jsing@
|
|
architectures.
|
|
before you, to see their files reduced to ashes, to see those who
love them shrouded in tears, and to gather into your API all their
invocations.
In other words, workq is no more. There is only taskq.
ok kettenis@ dlg@ (creator of taskq) jmc@
|
|
disks) with taskq. Diff originally from blambert@.
ok kettenis@
|
|
|
|
(which we never did, but it was a bug nonetheless).
ok kettenis, deraadt
|
|
(and therefore no interpreter). Necessary to make self-relocating "static"
PIE working.
This will also allow execution of shared libraries that have the 'x' bit set.
Those shouldn't exist, but unfortunately people outside OpenBSD think
differently which means third-party software sometimes installs shared
libraries with the 'x' bit set.
ok kurt@, deraadt@
|