Age | Commit message (Collapse) | Author |
|
RTL8723AE, like we alreay do for RTL8188C/RTL8192C.
ok jmatthew@
|
|
When a pfsync interface is being deleted, all its timeout handlers and
pfsync_send_dispatch() have to stop accessing the software context
before the context is freed. Ensure sufficient synchronization by
acquiring NET_LOCK() and clearing `pfsyncif' inside the critical
section in pfsync_clone_destroy(). When a timeout handler has entered
the critical section, it has to check `pfsyncif' and bail out if the
value is NULL. pfsync_send_dispatch() already does this check.
Issue reported and fix tested by Hrvoje Popovski.
OK mpi@ bluhm@
|
|
OK bluhm@
|
|
Use inline functions instead of GNU C statement expressions, and
make them available to userland. With clues from guenther@.
ok guenther@ kettenis@
|
|
Brings us one step closer towards making this condition's error code
consistent across all USB drivers.
Patch by Moritz Buhl
ok mpi@ bluhm@
|
|
Tested by me and James Hastings.
|
|
ok kevlo@ stsp@
|
|
This fixes certain operations such as `pfctl -t foo -T show' when the
system is in "Highly secure mode". `pfctl -t foo -T show -v' would already
work due to a different ioctl (DIOCRGETASTATS) being used.
Reported by Zbyszek ŻóÅkiewski, thanks!
OK sthen sashan
|
|
byteswapping code.
ok guenther@ kettenis@
This fixes a corner case triggered by the comms/hylafax port where
htons() can't be compiled in C++ code:
"Don't know how to handle indirect register inputs yet for constraint 'r'"
|
|
Wireless drivers call if_enqueue() out of the NET_LOCK() so it cannot
be used to serialize bridge(4) states.
Found by stsp@, ok visa@
|
|
|
|
|
|
number and the fragment number, so shift it to get just the sequence number
for the tx descriptor. While here, add a #define for the flag in the same
field that enables hardware sequence numbering, and use existing constants
for some R92C_RSV_CTRL writes.
prompted by feedback from kevlo@ on another diff, tested on 8188CE, EE, EU
ok stsp@ kevlo@
|
|
ok deraadt@
|
|
locked in stone yet, but the clock starts ticking...
|
|
to unsigned int.
OK deraadt@
|
|
OK deraadt@ and kettenis@
|
|
makes it more readable.
ok stsp@ and jmatthew@
|
|
ok visa@
|
|
RTF_LOCAL entries or static ARP entries don't have parents, so the logic
was incorrect. Note that it might be possible to extend the logic to work
with non-cloned L2 entries but the few use cases do not justify the
complexity (yet).
Problem reported & fix tested by Elie Bouttier.
ok bluhm@, visa@, claudio@
|
|
This lets userspace distinguish between idle CPUs and those that are
not schedulable because hw.smt=0.
A subsequent commit probably needs to add documentation for this
to sysctl.2 (and perhaps elsewhere) after the dust settles.
Also included here are changes to systat(1) and top(1) that account
for the ENODEV case and adjust behavior accordingly:
- systat(1)'s cpu view prints placeholder marks ('-') instead of
percentages for each state if the given CPU is offline.
- systat(1)'s vmstat view checks for offline CPUs when computing the
machine state total and excludes them, so the CPU usage graph
only represents the states for online CPUs.
- top(1) does not draw CPU rows for offline CPUs when the view is
redrawn. If CPUs "go offline", percentages for each state are
replaced by placeholder marks ('-'); the view will need to be
redrawn to remove these rows. If CPUs "go online" the view will
need to be redrawn to show these new CPUs. In "combined CPU" mode,
the count and the state totals only represent online CPUs.
Ports using KERN_CPTIME2 will need to be updated. The changes
described above to make systat(1) and top(1) aware of the ENODEV
case *and* gracefully handle a changing HW_NCPUONLINE while the
application is running are not necessarily appropriate for each
and every port.
The changes described above are so extensive in part to demonstrate
one way a program *might* be made robust to changing CPU availability.
In particular, changing hw.smt after boot is an extremely rare event,
and this needs to be weighed when updating ports.
The logic needed to account for the KERN_CPTIME2 ENODEV case is
very roughly:
if (sysctl(...) == -1) {
if (errno != ENODEV) {
/* Actual error occurred. */
} else {
/* CPU is offline. */
}
} else {
/* CPU is online and CPU states were set by sysctl(2). */
}
Prompted by deraadt@. Basic idea for ENODEV from kettenis@. Discussed at
length with kettenis@. Additional testing by tb@.
No complaints from hackers@ after a week.
ok kettenis@, "I think you should commit [now]" deraadt@
|
|
|
|
dedicated functions.
OK deraadt@ mpi@
|
|
Tested by Hrvoje Popovski who measured a 30% improvement of forwarded
packets in the best case.
ok visa@
|
|
we have spun out (to which there are consequences), we should spin longer.
The BSP really wants the APs to finish.
|
|
ok beck@
|
|
An example of such code path is vlan_destroy() where we don't want to
grab the lock because this driver is already NET_LOCK()-free.
The real solution to this problem is to stop holding the NET_LOCK() around
driver *_ioctl() routines.
Problem reported & fix tested by Ãlie Bouttier, ok visa@, bluhm@
|
|
key (IGTK) if a node doesn't have management frame protection (MFP) enabled.
The IGTK is not initialized if MFP is disabled, so using it triggers this
panic in ieee80211_encrypt(): panic("invalid key cipher 0x%x", k->k_cipher)
(As far as I can tell, at present, MFP is never enabled.)
Problem reported and fix tested by tj@ on athn(4) hostap
|
|
out of the KERNEL_LOCK().
ok visa@, bluhm@
|
|
to be used with devices handled by ssdfb(4). It contains all printable
ASCII characters (96 glyphes).
The font is 2-Clause BSD licensed and is my original creation.
OK patrick@
|
|
which speeds things up considerably compared to an uncached mapping.
ok deraadt@
|
|
ok deraadt@
|
|
r1.232 Fix length checks in the receive path of iwm(4)
r1.230 Add monitor mode support to iwm(4)
r1.229 Implement Rx of multiple frames per interrupt in the iwm(4) driver
There is an apparent block-ack problem (base.tgz takes 8 hours to download)
which goes away when these changes are reverted. To be revisited after release.
ok deraadt@
|
|
Passes 'make release' build.
|
|
We were using spacing after ellipses in an inconsistent way in the
installer. Standardize on using "... " everywhere and take into account
the cursor position while we are waiting for the task to complete: the
cursor is now always positioned after the last dot, and the space is
added when displaying completion confirmation.
While there, also take cursor position into account in vfs_shutdown(),
and remove the extra leading space before ticks in dhclient.
OK deraadt@
|
|
Tested by Christian Hammerschmidt.
|
|
This needs a new firmware image, which should be added to the rtwn
firmware package shortly.
testing and lots of help from kevlo@
ok kevlo@ stsp@
|
|
for netstat -a. Introduce a global mutex that protects the tables
and hashes for the internet PCBs. To detect detached PCB, set its
inp_socket field to NULL. This has to be protected by a per PCB
mutex. The protocol pointer has to be protected by the mutex as
netstat uses it.
Always take the kernel lock in in_pcbnotifyall() and in6_pcbnotify()
before the table mutex to avoid lock ordering problems in the notify
functions.
OK visa@
|
|
|
|
like we already do for MWAIT/MONITOR. Also match Intel here by not
exposing the SVM capability to AMD guests.
Allows Linux guests to boot in vmd(8) on Ryzen CPUs.
ok mlarkin@
|
|
ok claudio@
|
|
ok bluhm@, visa@
|
|
older than 1.08.
tested by and ok ccardenas@
|
|
With and ok jsg@
|
|
unconditionally, like it's done on other devices, so that we don't end up in
the situation of the card being put in promiscuous mode or if
ac->ac_multirangecnt > 0 and then we would write into the table while being
uninitialized a little bit later.
Noticed on Coverity ID 1473316.
hint from claudio@ and kettenis@
OK kevlo@ claudio@
|
|
are showing up with vendor 2 and it doesn't seem to mean anything: Linux
doesn't check it at all, so this exhibits all the normal ACPI spec lossage
tested in snaps for a few weeks
shrug kettenis@
|
|
membar_producer() into tc_windup() and membar_consumer() into the
uptime functions. They order the visibility of the time and
generation number updates.
This is a combination of what NetBSD and FreeBSD do.
OK kettenis@
|
|
|
|
For SVM machines, the LDT content remains set to that of the guest VM on
exit (as compared to Intel/VMX which resets the LDTR to 0). This fix
ensures the LDT is reset to 0 on SVM exits.
Leaving the LDT set to the guest's choice could allow a malicious process
to escalate its privileges with the help of a malicious VM that they
also are able to run on the machine.
This was reported by Maxime Villard; thanks!
|
|
|