| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a mask of optional ptrace() events.
302900:
Add a test for user signal delivery.
This test verifies we get the correct ptrace event details when a signal
is posted to a traced process from userland.
302902:
Add a mask of optional ptrace() events.
ptrace() now stores a mask of optional events in p_ptevents. Currently
this mask is a single integer, but it can be expanded into an array of
integers in the future.
Two new ptrace requests can be used to manipulate the event mask:
PT_GET_EVENT_MASK fetches the current event mask and PT_SET_EVENT_MASK
sets the current event mask.
The current set of events include:
- PTRACE_EXEC: trace calls to execve().
- PTRACE_SCE: trace system call entries.
- PTRACE_SCX: trace syscam call exits.
- PTRACE_FORK: trace forks and auto-attach to new child processes.
- PTRACE_LWP: trace LWP events.
The S_PT_SCX and S_PT_SCE events in the procfs p_stops flags have
been replaced by PTRACE_SCE and PTRACE_SCX. PTRACE_FORK replaces
P_FOLLOW_FORK and PTRACE_LWP replaces P2_LWP_EVENTS.
The PT_FOLLOW_FORK and PT_LWP_EVENTS ptrace requests remain for
compatibility but now simply toggle corresponding flags in the
event mask.
While here, document that PT_SYSCALL, PT_TO_SCE, and PT_TO_SCX both
modify the event mask and continue the traced process.
302921:
Rename PTRACE_SYSCALL to LINUX_PTRACE_SYSCALL.
303461:
Note that not all optional ptrace events use SIGTRAP.
New child processes attached due to PTRACE_FORK use SIGSTOP instead of
SIGTRAP. All other ptrace events use SIGTRAP.
304009:
Remove description of P_FOLLOWFORK as this flag was removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't enqueue NULL on a drbr
In one corner case in the bxe TX path, a NULL mbuf could be enqueued onto
a drbr queue. This could case a KASSERT to fire with INVARIANTS enabled,
or the processing of packets from the queue to be prematurely ended later
on.
Submitted by: Matt Joras (matt.joras AT isilon.com)
Reviewed by: davidcs
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D7041
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make cpu_set_user_tls() work when called on the running thread.
On all the other architectures, this function can also be called on the
currently running thread. In this case, we shouldn't fix up the address
in the PCB, but also patch up the register itself. Otherwise it will not
become active and will simply become overwritten by the next switch.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D7437
|
|
|
|
| |
PROGS: Support INTERNALPROG.prog=yes to not install it.
|
|
|
|
|
|
|
|
|
| |
r303934:
Support rmdir(2).
r303937:
Use proper argument length for rmdir(2) for r303934.
r303942:
Fix sorting in r303934.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix for use after free.
Clear the device description to avoid use after free because the
bsddev is not destroyed when the mlx5en module is unloaded. Only when
the parent mlx5 module is unloaded the bsddev is destroyed. This fixes
a panic on listing sysctls which refer strings in the bsddev after the
mlx5en module has been unloaded.
Sponsored by: Mellanox Technologies
|
|
|
|
| |
borrowed from Linux
|
| |
|
|
|
|
|
|
|
|
| |
Keep a reference count on USB keyboard polling to allow recursive
cngrab() during a panic for example, similar to what the AT-keyboard
driver is doing.
Found by: Bruce Evans <brde@optusnet.com.au>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switch to the new block based LRO input function for the mlx5en
driver. This change significantly increases the overall RX aggregation
ratio for heavily loaded networks handling 10-80 thousand simultaneous
connections.
Remove the turbo LRO code and all references to it which has now been
superceeded by the tcp_lro_queue_mbuf() function.
Tested by: Netflix
Sponsored by: Mellanox Technologies
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
truss: fix uninitialized trussinfo->curthread in add_threads()/enter_syscall
trussinfo->curthread must be initialized before calling enter_syscall(),
it is used by t->proc->abi->fetch_args().
Without that truss is segfaulting and the attached program also crash.
Submitted by: Nikita Kozlov (nikita@gandi.net)
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D7399
|
|
|
|
|
| |
Add net.inet6.ip6.intr_queue_maxlen sysctl. It can be used to
change netisr queue limit for IPv6 at runtime.
|
|
|
|
|
|
|
| |
Due to dropped mbuf in netisr queue route(8) can fall into infinity
loop of reading the rtsock's feed. When it used by some scripts,
this leads to growing number of not finished route(8) instances and
thus growing number of rtsock consumers. Add SIGALRM handler to prevent this.
|
|
|
|
| |
mthca: Add a wrapper for the firmware's DIAG_RPRT command.
|
|
|
|
| |
Update a comment in vm_page_advise() to match behaviour after r290529.
|
|
|
|
| |
Release the second critical section in uma_zfree_arg() slightly earlier.
|
|
|
|
| |
Use vm_page_undirty() instead of manually setting a page field.
|
|
|
|
| |
De-pluralize "queues" in the pagedaemon code.
|
|
|
|
|
|
|
|
|
|
|
| |
The current in_pcb.h includes route.h, which includes sockaddr structures.
Including <sys/socketvar.h> should require <sys/socket.h>; add it in
the appropriate place.
PR: 211385
Submitted by: Sergey Kandaurov and iron at mail.ua
Reviewed by: gnn
Approved by: gnn (mentor)
|
|
|
|
|
|
|
|
| |
Improve a consistency check to not detect valid cases for
unordered user messages using DATA chunks as invalid ones.
While there, ensure that error causes are provided when
sending ABORT chunks in case of reassembly problems detected.
Thanks to Taylor Brandstetter for making me aware of this problem.
|
|
|
|
|
|
|
|
|
|
|
| |
Restore "nat global" support.
Now zero value of arg1 used to specify "tablearg", use the old "tablearg"
value for "nat global". Introduce new macro IP_FW_NAT44_GLOBAL to replace
hardcoded magic number to specify "nat global". Also replace 65535 magic
number with corresponding macro. Fix typo in comments.
PR: 211256
|
|
|
|
|
| |
The pmap_delayed_invl_wait() function blocks on turnstile, it does not
spin, in the committed version. Remove stray '*' in the text.
|
|
|
|
|
|
| |
Fix vtnet hang with max_virtqueue_pairs > VTNET_MAX_QUEUE_PAIRS
Sponsored by: Multiplay
|
|
|
|
| |
Add Logitech Unifying receiver.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libblacklist: Do not use %m for logging, use strerror(errno)
The blacklist library can accept a function to use for logging,
defaulting to vsyslog(), if no function is specified. Make the
blacklist library use strerror(errno) explicitly, instead of %m,
so that the passed in function does not need to support the
syslog specific placeholder.
This matches a change already submitted and accepted upstream.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
Make resizewin.1 manpage use .Fx macro
Fix capitalization of "PuTTY" also.
|
|
|
|
|
|
|
|
| |
Pass overrides to make(1) when building ports for arm/armv6
targets, similar to what is done for the run-autotools-fixup
override for non-arm targets.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
| |
Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
| |
Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
Reset __FreeBSD_version for 11.0-STABLE.
Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
protocol
ZFS POSIX Layer is originally written for Solaris VFS which is very
different from FreeBSD VFS. Most importantly many things that FreeBSD VFS
manages on behalf of all filesystems are implemented in ZPL in a different
way.
Thus, ZPL contains code that is redundant on FreeBSD or duplicates VFS
functionality or, in the worst cases, badly interacts / interferes
with VFS.
The most prominent problem is a deadlock caused by the lock order reversal
of vnode locks that may happen with concurrent zfs_rename() and lookup().
The deadlock is a result of zfs_rename() not observing the vnode locking
contract expected by VFS.
This commit removes all ZPL internal locking that protects parent-child
relationships of filesystem nodes. These relationships are protected
by vnode locks and the code is changed to take advantage of that fact
and to properly interact with VFS.
Removal of the internal locking allowed all ZPL dmu_tx_assign calls to
use TXG_WAIT mode.
Another victim, disputable perhaps, is ZFS support for filesystems with
mixed case sensitivity. That support is not provided by the OS anyway,
so in ZFS it was a buch of dead code.
To do:
- replace ZFS_ENTER mechanism with VFS managed / visible mechanism
- replace zfs_zget with zfs_vget[f] as much as possible
- get rid of not really useful now zfs_freebsd_* adapters
- more cleanups of unneeded / unused code
- fix / replace .zfs support
PR: 209158
Approved by: re (gjb)
|
|
|
|
| |
Approved by: re (gjb)
|
|
|
|
|
|
|
| |
- Update ixl(4) to Intel driver version ixl-1.6.6-k
- Fixup RSS builds of ixl(4) missed during testing.
Approved by: re (gjb)
|
|
|
|
|
|
| |
Call tcp_notify() directly to shoot down routes
Approved by: re (gjb)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix constructing of setdscp opcode with tablearg keyword.
setdscp's argument can have zero value that conflicts with IP_FW_TARG
value. Always set high-order bit if parser doesn't find tablearg keyword.
MFC r303845:
Fix formatting of setfib opcode.
Zero fib is correct value and it conflicts with IP_FW_TARG.
Use bprint_uint_arg() only when opcode contains IP_FW_TARG,
otherwise just print numeric value with cleared high-order bit.
Approved by: re (kib)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix various bugs in relation to the I-DATA chunk support
This is joint work with rrs.
MFC r303793:
Mark an unused parameter as such.
MFC r303798:
Don't modify a structure without holding a reference count on it.
MFC r303813:
Remove stream queue entry consistently from wheel.
While there, improve the handling of drain.
MFC r303819:
Consistently check for unsent data on the stream queues.
MFC r303831:
Fix a locking issue found by stress testing with tsctp.
The inp read lock neeeds to be held when considering control->do_not_ref_stcb.
MFC r303834:
Fix the sending of FORWARD-TSN and I-FORWARD-TSN chunks. The
last SID/SSN pair wasn't filled in.
Thanks to Julian Cordes for providing a packetdrill script
triggering the issue and making me aware of the bug.
Approved by: re (kib)
|
|
|
|
|
|
|
|
|
|
|
|
| |
amd64: implement pagezero using rep stos
The current implementation uses non-temporal writes. This turns out to
be detrimental to performance if the page is used shortly after, which
is the typical case with page faults.
Switch to rep stos.
Approved by: re (gjb)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rwlock: s/READER/WRITER/ in wlock lockstat annotation
==
sx: increment spin_cnt before cpu_spinwait in xlock
The change is a no-op only done for consistency with the rest of the file.
==
locks: change sleep_cnt and spin_cnt types to u_int
Both variables are uint64_t, but they only count spins or sleeps.
All reasonable values which we can get here comfortably hit in 32-bit range.
==
Implement trivial backoff for locking primitives.
All current spinning loops retry an atomic op the first chance they get,
which leads to performance degradation under load.
One classic solution to the problem consists of delaying the test to an
extent. This implementation has a trivial linear increment and a random
factor for each attempt.
For simplicity, this first thouch implementation only modifies spinning
loops where the lock owner is running. spin mutexes and thread lock were
not modified.
Current parameters are autotuned on boot based on mp_cpus.
Autotune factors are very conservative and are subject to change later.
==
locks: fix up ifdef guards introduced in r303643
Both sx and rwlocks had copy-pasted ADAPTIVE_MUTEXES instead of the correct
define.
==
locks: fix compilation for KDTRACE_HOOKS && !ADAPTIVE_* case
==
locks: fix sx compilation on mips after r303643
The kernel.h header is required for the SYSINIT macro, which apparently
was present on amd64 by accident.
Approved by: re (gjb)
|
|
|
|
|
| |
PR: 208254
Approved by: re (kib)
|
|
|
|
|
|
| |
Correct a spelling error.
Approved by: re (kib)
|
|
|
|
|
|
| |
Merge i386 and amd64 variants of mp_watchdog.c into x86/.
Approved by: re (gjb)
|
|
|
|
|
|
|
|
|
| |
Remove unneeded (recursing) Giant acquisition around vprintf(9).
MFC r303715:
Remove ncl_printf(), use printf(9) directly.
Approved by: re (gjb)
|
|
|
|
|
|
|
|
|
| |
Some style changes. Fix a typo in comment.
MFC r303705:
Remove Giant asserts. Update comment.
Approved by: re (gjb)
|
|
|
|
|
|
|
|
|
| |
Do not delegate a work to geom event thread which can be done inline.
MFC r303703:
Explain why swapgeom_close_ev() is delegated.
Approved by: re (gjb)
|
|
|
|
|
|
|
| |
xen-netfront: fix trying to send packets with disconnected netfront
xen-netfront: improve the logic when handling nic features from ioctl
Approved by: re (kib)
|