Age | Commit message (Collapse) | Author |
|
there it calls sbappendaddr() while holding the raw table mutex.
This ends in sorwakeup() where we finally grab the kernel lock while
holding a mutex. Witness detects this misuse.
Use the same solution as for PCB notify. Collect the affected PCBs
in a temporary list. The list is protected by exclusive net lock.
syzbot+ebe3f03a472fecf5e42e@syzkaller.appspotmail.com
OK claudio@
|
|
|
|
compare pointer to NULL instead of 0.
No functional change.
|
|
nodes and properties to it like we do on arm64 and armv7.
ok patrick@
|
|
reflect the size of the new buffer like we do on arm64.
ok patrick@
|
|
in a register at call-time.
with & ok jsg@
|
|
ok jsg@
|
|
FreeBSDism we have no need for.
ok jsg@
|
|
address zero, as done on all other platforms.
ok deraadt@ kettenis@
|
|
of the MI fallback code; ok deraadt@ jsg@
|
|
of all UDP PCBs. From there it calls udp_sbappend() while holding
the UDP table mutex. This ends in sorwakeup() where we finally
grab the kernel lock while holding a mutex. Witness detects this
misuse.
Use the same solution as for PCB notify. Collect the affected PCBs
in a temporary list. The list is protected by exclusive net lock.
Reported-by: syzbot+7596cb96fb9f3c9d6f4f@syzkaller.appspotmail.com
OK sashan@
|
|
ok patrick@
|
|
|
|
ok mpi@ ratchov@ "More const is good" deraadt@
|
|
doesn't get out of sync with what apm(8) reports if power is plugged or
unplugged when a machine is suspended. Which in turn makes sure the machine
properly goes into a low CPU P-state when requested.
ok deraadt@, florian@
|
|
|
|
Based on previous XBox 360 controller code and NetBSD's implementation.
Tested by me and solene@.
Input by solene@ and stsp@.
ok stsp@ phessler@
ok solene@ for an earlier version.
|
|
for PCB tables. It does not break userland build anymore.
pf_socket_lookup() calls in_pcbhashlookup() in the PCB layer. To
run pf in parallel, make parts of the stack MP safe. Protect the
list and hashes in the PCB tables with a mutex.
Note that the protocol notify functions may call pf via tcp_output().
As the pf lock is a sleeping rw_lock, we must not hold a mutex. To
solve this for now, collect these PCBs in inp_notify list and protect
it with exclusive netlock.
OK sashan@
|
|
(works better with `cvs rm' prior to commit...)
|
|
This makes the atomic_load_* functions relaxed in terms of memory
ordering. Now it should be acceptable to use these functions in
assertions.
The need of the data dependency barrier is conditioned to usage.
The barrier is unnecessary for the control decisions that cond_wait()
and refcnt_finalize() make. READ_ONCE() and SMR_PTR_GET() use the
barrier so that loaded pointers would work as excepted in lock-free
contexts (some Alpha CPUs have a data cache design that can cause
unusual load-load reordering if not synchronized properly).
OK bluhm@
|
|
previously things that used sendto or similar with raw sockets would
ignore any configured sourceaddr. this made it inconsistent with
other traffic, which in turn makes things confusing to debug if
you're using ping or traceroute (which use raw sockets) to figure
out what's happening to other packets.
the ipv6 equiv already does this too.
ok sthen@ claudio@
|
|
this allows the IP_MULTICAST_IF sockopt to specify which address
you want to send a limited broadcast (255.255.255.255) packet out
of.
requested by and ok claudio@
|
|
Ditto config_detach() if link->device_softc is NULL.
Currently just some extra paranoia, but will allow simplification
of exit logic in scsi_probe_link() and other future uses of
scsi_detach_link() on partially configured links.
No intentional functional change.
|
|
needed to make inpcb in kernel MP safe. To build sysctl and libkvm
based programs, we have to export it to userland.
OK claudio@
|
|
Avoids panic on reboot when softraid has been disabled.
Discovered by, diagnosed, first diff from & fix tested by Scott
Nicholas.
ok bluhm@
|
|
the channel on which a frame was received.
ieee80211_inputm() was expecting that ic->ic_bss->ni_chan would correspond
to the channel which is currently being scanned. This dates back to older
devices which are manually tuned to the next channel by the driver during
SCAN->SCAN state transitions.
However, this approach is very awkward for drivers which scan across a
whole range of channels in firmware. Such drivers had an ugly workaround
in place which tweaked ni_chan for each received frame.
Introduce a channel number field in the Rx info struct which drivers
can use to indicate the channel on which a frame was received.
If this field is set, net80211 will use it instead of using the current
channel of ic_bss. Use this new mechanism in all affected drivers.
Tested by jmc@, sthen@, and myself on iwm(4) and iwx(4).
Changes to iwn(4) and bwfm(4) are the same mechanical changes to get rid
of the ni_chan tweak, and are therefore expected to work.
ok sthen@ dlg@
|
|
VHT capabilities were written into the "common" secion of the firmware
probe request frame template. This section is used on 2GHz and 5GHz bands.
Announcing VHT capabilities on 2GHz makes no sense.
Move them into the 5GHz-only section.
ok sthen@
|
|
found by landry@
|
|
There are separate timers for rx and tx interrupts, so we can use longer
timeouts for tx since that doesn't affect packet processing latency.
ok dlg@
|
|
This check was wrong for drivers which report RSSI as a percentage,
such as iwm(4) and iwx(4). Such drivers will now prefer 5GHz with
50% or greater RSSI, as was intended.
ok phessler@
|
|
ok phessler@
|
|
what was intended.
ok phessler@
|
|
ok kettenis@, jca@
|
|
|
|
VHT MCS and 80MHz channels can now be used.
Other 11ac features such as larger aggregates are left for later work.
Tested:
3160: stsp
7260: florian, jmatthew
7265: rfreeman, mlarkin, landry, Peter J. Philip
8260: bket
8265: jturner, Marcus MERIGHI, stsp
9260: florian, matthieu, stsp
9650: kmos, sthen
ok sthen@
|
|
Based on our existing RA module for 11n.
The main difference is in dealing with 11ac-specific ratesets.
Tx rate selection heuristics remain identical.
Only supports 80MHz channels, for now. 160MHz is left for future work.
ok sthen@
|
|
code similar in non DIAGNOSTIC case. Rename refcnt variable to
refs for consistency with r_refs. Add KASSERT() in refcnt_finalize().
OK visa@
|
|
OK bluhm@ dlg@
|
|
|
|
ok jsg
|
|
ok jsg
|
|
|
|
From Martin Vahlensieck
|
|
|
|
OK mpi@
|
|
OK bluhm@
|
|
OK sashan@ bluhm@
|
|
If the allocation fails due to memory pressure no time is wasted doing
encryption. This also simplify the error path.
Tested by sthen@.
ok kn@, miod@, kettenis@, tb@
|
|
appropriate byte swapping.
|
|
the size of the FDT to reflect the size of that buffer. This prevents
an FDT overflow if the original FDT doesn't have enough space for the
additional properties that we add to it in our bootloader.
Fixes boot on the mcbin.
tested by bluhm@, ok patrick@
|