summaryrefslogtreecommitdiff
path: root/sys/kern
AgeCommit message (Collapse)Author
2015-01-05splassert on some archs (or just sparc64) check that you're not inDavid Gwynne
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.
2015-01-04back out r1.173, aka the "* 8" diff. it tickles a problem on someDavid Gwynne
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@
2015-01-04avoid the use of an uninitialised variable in one of the codepaths inJonathan Gray
pool_setlowat() ok dlg@ tedu@
2014-12-31copyright_year=$(date +%Y)Joel Sing
2014-12-30Rework disklabel reading taskq to plug holes pointed out by jsing@.Kenneth R Westerback
Diff from dlg@. ok jsing@
2014-12-29Explicitely include <uvm/uvm_extern.h> in order to build on variable page sizeMiod Vallat
architectures.
2014-12-28The greatest happiness is to scatter inferiour APIs, to drive themKenneth R Westerback
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@
2014-12-28Replace last workq in tree (reading disklabels from newly attachedKenneth R Westerback
disks) with taskq. Diff originally from blambert@. ok kettenis@
2014-12-23unifdef INETTed Unangst
2014-12-22fix an error in piglet allocation when requesting an alignment < PAGE_SIZEMike Larkin
(which we never did, but it was a bug nonetheless). ok kettenis, deraadt
2014-12-22Make it possible to execute PIE binaries that don't have an PT_INTERP segmentMark Kettenis
(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@
2014-12-22remove some unused fields from pool. ok dlgTed Unangst
2014-12-22if we're able to use large page allocators, try and place at leastDavid Gwynne
8 items on a page. this reduces the number of allocator operations we have to do per item on large items. ok tedu@
2014-12-20Zap a sneaky trailing blank that was hiding in plain view.Kenneth R Westerback
2014-12-20Zap local variable that shadows another local variable. Fixes a panic causedMark Kettenis
by passing random stack garbage as the size to free(9). From David Imhoff
2014-12-20Zap a bunch of leading/trailing whitespace.Kenneth R Westerback
2014-12-19start retiring the nointr allocator. specify PR_WAITOK as a flag as aTed Unangst
marker for which pools are not interrupt safe. ok dlg
2014-12-19timestamp empty pages, and only free them if theyve been idle for at leastDavid Gwynne
a second. this basically brings back the functionality that was trimmed in r1.53, except this version uses ticks instead of very slow hardware clock reads. ok tedu@
2014-12-19the last commit changed LIST_INSERT_HEAD to TAILQ_INSERT_TAIL cos theDavid Gwynne
latter is cheaper, but i forgot to change the thing that pulls pages off those lists to match the change in direction. the page lists went from LIFO to FIFO. this changes pool_update_curpage to use TAILQ_LAST so we go back to LIFO. pointed out by and ok tedu@
2014-12-19replace the page LISTS with page TAILQs. this will let me pull pages fromDavid Gwynne
either end of the lists cheaply. ok kettenis@ tedu@
2014-12-17remove lock.h from uvm_extern.h. another holdover from the simpletonlockTed Unangst
era. fix uvm including c files to include lock.h or atomic.h as necessary. ok deraadt
2014-12-17Prefer MADV_* over POSIX_MADV_* in kernel for consistency: the latterPhilip Guenther
doesn't have all the values and therefore can't be used everywhere. ok deraadt@ kettenis@
2014-12-16primary change: move uvm_vnode out of vnode, keeping only a pointer.Ted Unangst
objective: vnode.h doesn't include uvm_extern.h anymore. followup changes: include uvm_extern.h or lock.h where necessary. ok and help from deraadt
2014-12-15Use MAP_INHERIT_* for the 'inh' argument to the UMV_MAPFLAG() macro,Philip Guenther
eliminating the must-be-kept-in-sync UVM_INH_* macros ok deraadt@ tedu@
2014-12-13yet more mallocarray() changes.Doug Hogan
ok tedu@ deraadt@
2014-12-12sysctl kern.global_ptrace.Ted Unangst
controls whether you can ptrace any process with appropriate privileges or only one own's children. ok deraadt
2014-12-12sysctl_proc_vmmap(): Allow retrieving "self" VM mapping without privilege.Masao Uebayashi
Previous version OK'ed by tedu@ deraadt@
2014-12-11convert bcopy to memcpy/memmove. ok krwTed Unangst
2014-12-11typos; from kaspars bankovskisJason McIntyre
2014-12-10retire shutdown hooks; ok deraadt, krwMike Belopuhov
2014-12-10Convert watchdog(4) devices to use autoconf(9) framework.Mike Belopuhov
ok deraadt, tests on glxpcib and ok mpi
2014-12-10convert bcopy to memcpy. ok millertTed Unangst
2014-12-09More malloc() -> mallocarray() in the kernel.Doug Hogan
ok deraadt@ tedu@
2014-12-08regenPhilip Guenther
2014-12-08Add chflagsat(), modeled on fchmodat() with name to match FreeBSD.Philip Guenther
2014-12-07typo; fix from Kaspars BankovskisTheo de Raadt
2014-12-05Allow only root to use KERN_PROC_VMMAP until it is really proven safe.Masao Uebayashi
OK deraadt@
2014-12-05Introduce a new sysctl to retrieve VM map entriesMasao Uebayashi
This adds a new sysctl KERN_PROC_VMMAP, which returns an array of VM map entries of a specified process. This prevents debuggers from iterating vm_map_entry RB tree via kvm(3). The name KERN_PROC_VMMAP and struct kinfo_vmentry are chosen from the same function in FreeBSD. struct kinfo_vmentry is revised to reduce size, because OpenBSD does not keep track of filepaths. The semantic is also changed to return max buffer size as a hint, and start iteration at the specified base address. Much valuable input from deraadt@, guenther@, tedu@ OK tedu@ deraadt@
2014-12-04init the mutex used in sleeping pool_gets with the right ipl if theDavid Gwynne
pool hasnt had pool_setipl called. ok kettenis@ ages ago
2014-12-03stale header: this code hasn't used hash.h in a whileTed Unangst
2014-12-02In sys_socket() and doaccept(), gotta skip setting the close-on-execPhilip Guenther
flag if the falloc() fails reported by Carlin Bingham (cb (at) viennan.net) ok deraadt@ tedu@
2014-12-01clist's chained, and could get fairly long which is why there was aTheo de Raadt
dynamic clamping mechanism. In the (new? has it already been 20 years?) world of tty ring buffers, c_cn is the maximum... There could be some ugly limit elsewhere, which may cause a deadlock (dug as deep as my patience allows), so please report any sort of new console or xterm issues that show up, such as tty lockups or high cpu utilization..
2014-11-21simple lock is long deadTed Unangst
2014-11-19panic should be reserved for unrecoverable errors, not things we merelyTed Unangst
hope don't happen. also, always check for errors. ok deraadt
2014-11-19missed a file when removing KERN_VNODE.Ted Unangst
2014-11-19delete the KERN_VNODE sysctl. it fails to provide any isolation from theTed Unangst
kernel struct vnode defintion, and the only consumer (pstat) still needs kvm to read much of the required information. no great loss to always use kvm until there's a better replacement interface. ok deraadt millert uebayasi
2014-11-18Nuke yet more obvious #include duplications.Kenneth R Westerback
ok miod@
2014-11-18Disable the page zeroing thread on MULTIPROCESSOR mips64 kernels as well.Miod Vallat
Regression spotted by tobiasu@. XXX I wonder if the page zeroing thread shouldn't perform explicit XXX pmap_update(pmap_kernel()) calls after each page zeroing... but that XXX might not be enough.
2014-11-18unifdef SETUIDSCRIPT and FDSCRIPT. we always use them. ok deraadtTed Unangst
2014-11-18move arc4random prototype to systm.h. more appropriate for most codeTed Unangst
to include that than rdnvar.h. ok deraadt dlg