Age | Commit message (Collapse) | Author |
|
|
|
ok kettenis@ jmatthew@
|
|
the hardware provides crypto offload, zlib offload, and an rng.
this code only supports the rng at the moment.
this device is present on their amd seatlle platforms, and very
present on their epyc stuff.
ok kettenis@ jmatthew@
|
|
|
|
|
|
this is the same check that's done when adding normal members to
the bridge. it prevents things like gif(4) being added to the bridge,
which in turn prevents panics when shoving ethernet packets down a
layer 3 interface.
reported and tested by jasper@
|
|
|
|
cannot handle the larger firmwares, so we must place them somewhere
else where the kernel can read them. Let's use 1MB. And pay attention
if someone gets burned by this decision. Other solutions get a lot
more hairy
ok mlarkin jsing
|
|
stack buffer. With a page-aligned buffer, creating a MAP_STACK sub-region
would undo the PROT_NONE guard. Ignore that last page.
(We could check if the last page is non-RW before choosing to skip it. But
we've already elected to grow STK sizes to compensate. Always ignoring the
last page makes it a non-MAP_STACK guard page which can be opportunistically
discovered)
ok semarie stefan kettenis
|
|
pointer in the IP protocol loop. Reset the loop's mbuf when the
mbuf is freed. The latter is not necessary, but clearing a pointer
to freed data is safer.
OK dlg@
|
|
Alloc the containing struct with M_ZERO so if loadfirmware() fails and
doesn't set the pointer we won't try to free an address based on
uninitialised memory.
Use M_DEVBUF not M_DRM when freeing the buffer allocated by
loadfirmware().
|
|
operations. This resolves one of the failures frequently seen
on QEMU where spawning processes while another process is working
can lead to crashes.
Committing on behalf of drahn@
ok kettenis@ jsg@
|
|
applications will crash without this lock as other threads attempt
to walk the tree while another thread is adding/removing mappings.
Committing on behalf of drahn@
ok kettenis@
|
|
keyboard late.
This makes keyboard re-attaching due to the machdep.forceukbd sysctl(2)
respect /etc/kbdtype.
Issue reported by Artturi Alm, jmc@ and landry@.
ok kettenis@
|
|
ok visa@
|
|
ok millert@, visa@
|
|
* define V_IGN_TPR (ignore virtual TPR)
* set V_IGN_TPR while configuring window exiting (was missed in one
location along with setting of the intr vector)
This should fix unresponsive network / console issues with guests on SVM.
|
|
the brk area anyway.
- Use a larger hint bound to spread the allocations more for the 32-bit case
- Simplified the overy abstracted brs/stack allocator and switch of
guard pages for the brk case. This allows i386 some extra space,
depending on memory usage patterns.
- Reduce brk area on i386 to give the rnd space more room
ok stefan@ sthen@
|
|
Other parts of uvm/pmap check for proper prot flags
already. This fixes the qemu startup problems that
semarie@ reported on tech@.
|
|
- Use vput(9) instead of vrele(9) when a "locked" node is returned
by nfs_nget().
- Make sure VN_KNOTE() is always called with a valid reference.
- Add a missing PDIRUNLOCK in nfs_lookup()
These changes are mostly noops as long as nfs_lock()/unlock() do
nothing.
Tested by bluhm@, visa@ and myself.
ok visa@
|
|
Don't use the standard pmap PTE functions to manipulate EPT PTEs. This
occasionally caused VMs to fail after random amounts of time due to
loading the pmap on the CPU and the processor updating A/D bits (which
are reserved bits in EPT). This ultimately manifested itself as errors
from vmd ("vcpu X run ioctl failed".)
tested by many, on different types of HW, no regressions noted
|
|
The implementation tries to allocate sufficient memory to match the size of
the microcode file and will blow the boot loader heap when loading a larger
microcode file. This has been causing "heap full" errors at boot on some
machines.
Diagnosed with deraadt@
|
|
frequency of 125Mhz, and have a unique sleep register. A custom
interrupt handler is setup in puc for these ports so it can check a
register which reports which ports triggered the interrupt, rather
than having to run comintr for every port every time.
ok mlarkin deraadt
|
|
allow for custom frequencies not a multiple of COM_FREQ
ok deraadt
|
|
|
|
|
|
ok deraadt, kettenis
|
|
No objections from henning, OK visa
|
|
diff from fukaumi at soum.co.jp.
ok deraadt mpi
|
|
syscall) confirm the stack register points at MAP_STACK memory, otherwise
SIGSEGV is delivered. sigaltstack() and pthread_attr_setstack() are modified
to create a MAP_STACK sub-region which satisfies alignment requirements.
Observe that MAP_STACK can only be set/cleared by mmap(), which zeroes the
contents of the region -- there is no mprotect() equivalent operation, so
there is no MAP_STACK-adding gadget.
This opportunistic software-emulation of a stack protection bit makes
stack-pivot operations during ROPchain fragile (kind of like removing a
tool from the toolbox).
original discussion with tedu, uvm work by stefan, testing by mortimer
ok kettenis
|
|
by my mistake.
Pointed out by Christian Ludwig. Thank you!
|
|
calling FRELE(9) in finishdup().
Update comments accordingly.
ok bluhm@, visa@
|
|
dupfdopen().
ok bluhm@, visa@
|
|
set for pledged processes. dup(2) uses the flag from the old file
descriptor. Make open /dev/fd consistent to duplicate and inherit
the flag.
OK deraadt@
|
|
- provide struct cpu_info_full
- prepare K-U sections
- reorganize interrupt, trap, syscall entry to use K-U trampoline
- prepare pmap for entering special mappings, the mappings are not
setup yet
This code will already trigger performance issues. We do more tlb
flushes, but we do not unmap the kernel yet. The latter
will be needed to prevent Meltdown.
from hshoexer@; input guenther@; OK mlarkin@ deraadt@
|
|
we try to map first. Instead there's a 64-bit memory BAR in the follow-
ing BAR. Since on the MACCHIATObin we currently do not support the IO
space, we have to use the 64-bit memory BAR. Thus, try to map the 64-
bit BAR before falling back to the 32-bit BAR and the IO bar.
ok deraadt@ kettenis@
|
|
use it during suspend/resume. Remove driver-specific mixer
save/restore bits that don't need to be duplicated in every
low-lever driver.
ok mpi
|
|
|
|
OK jca@, sthen@, deraadt@
|
|
|
|
OK jca@, sthen@, deraadt@
|
|
direction, otherwise we might break the loop prematurely; ok stefan@
|
|
Prevents a lock ordering issue between SCHED_LOCK() and printf(9)'s
mutex. While here protect all kprintf() calls ending on the console
with the mutex.
ok kettenis@, visa@
|
|
ok millert@, deraadt@, florian@
|
|
PROC_STACK() in the upcoming stack pointer checking diff and probably fixes
bugs where ptrace(2) and core dumps would report the wrong register state.
ok deraadt@
|
|
|
|
|
|
|
|
|
|
ok visa@, patrick@
|