IABSD.fr/src/sys

Branch :


Log

Author Commit Date CI Message
671e0bd2 2020-04-18 10:03:32 Remove useless return statement.
24d838fb 2020-04-18 07:55:06 Add glue to let bse(4) attach using the FDT. ok jsg@
a763589e 2020-04-18 06:10:23 drm/dp_mst: Fix clearing payload state on topology disable From Lyude Paul a0522bbd37d80507d118d3616e46bccde2c395a9 in linux 4.19.y/4.19.116 8732fe46b20c951493bfc4dba0ad08efdf41de81 in mainline linux
9518a785 2020-04-18 06:07:13 Revert "drm/dp_mst: Remove VCPI while disabling topology mgr" From Sasha Levin 9a61fe235c0a653457c741d6140c6a8f8d8bfb48 in linux 4.19.y/4.19.116 a86675968e2300fb567994459da3dbc4cd1b322a in mainline linux
1a1f5cc4 2020-04-18 04:45:20 Sync existing stacktrace_save() implementations Upgrade stacktrace_save() to stacktrace_save_at() on architectures where the latter is missing. Define stacktrace_save() as an inline function in header <sys/stacktrace.h> to reduce duplication of code. OK mpi@
fc7775a1 2020-04-18 04:03:56 Use MHLEN for the space size of mbuf header. This fixes the panic when using pppac without pipex. ok dlg
5f63ba22 2020-04-17 23:29:53 Fix an incorrect test for root in drm linux compatiblity code. Patch from and commited on behalf of Jonathan Gray (jsg@) ok kettenis@
88300ded 2020-04-17 07:09:05 Prevent MiRA from jumping from very high to very low rates while switching ratesets when probing. Fixes iwm(4) switching from MCS 15 down to MCS 0, rather than switching to a comparable rate in the next rateset, such as MCS 7. This wasn't supposed to happen but did because of a MiRA implementation bug. ok jmatthew@
1a382f7c 2020-04-15 16:46:34 Fix panic message. ok millert@, deraadt@
49989baf 2020-04-15 16:38:24 Remove unused protoype.
f21dc754 2020-04-15 15:40:06 Add support for the Armada 3720 CPU clock. ok patrick@
85662a09 2020-04-15 14:04:18 Do not delete an existing RTF_CACHED entry with the same destination address as the one trying to be inserted. Such entry must stay in the table as long as its parent route exist. If a code path tries to re-insert a route with the same destination address on the same interface it is a bug. Avoid the "route contains no arp information" problem reported by sthen@ and Laurent Salle. ok claudio@
aafc1486 2020-04-15 10:36:02 drm_dp_mst_topology: fix broken drm_dp_sideband_parse_remote_dpcd_read() From Hans Verkuil 329ef07f7fb83d4de62c239e376a6a0e04ff4b3c in linux 4.19.y/4.19.115 a4c30a4861c54af78c4eb8b7855524c1a96d9f80 in mainline linux
a928e695 2020-04-15 10:33:16 drm/amdgpu: fix typo for vcn1 idle check From James Zhu 7b9d4492808eb3c3ba43f6391b138101a7e9e42e in linux 4.19.y/4.19.115 acfc62dc68770aa665cc606891f6df7d6d1e52c0 in mainline linux
e9a60e13 2020-04-15 10:28:26 drm/amd/display: Add link_rate quirk for Apple 15" MBP 2017 From Mario Kleiner a9049fd69bc4fdcc48ec3a638f1f470938354984 in linux 4.19.y/4.19.115 dec9de2ada523b344eb2428abfedf9d6cd0a0029 in mainline linux
20c8eb7c 2020-04-15 09:26:49 Add bse(4) device to unbreak build. noticed by tobhe@ diff from kettenis@ (who forgot to commit this bit)
7db48702 2020-04-15 08:09:33 Commented WITNESS entry.
bb9163a1 2020-04-15 08:09:00 Switch powerpc to MI mplock implementation. Reduce differences with others architectures and make it possible to use WITNESS on it. Rename & keep the current recursive lock implementation as it is used by the pmap. Tested by Peter J. Philipp, otto@ and cwen@. ok kettenis@
2f640e26 2020-04-15 04:41:39 gpiodcf(4): unbreak compilation
14a8f15f 2020-04-15 03:56:14 idgen32(9): use time_uptime(9) for rekey timestamps, not time_second(9) Timestamp contexts with a monotonic clock. time_second(9) can jump, stretching or truncating our rekey interval. time_uptime(9) will not jump around. ok djm@
456d19ad 2020-04-15 02:18:39 wdsc(4), ncr53c9x: timestamp LUNs with time_uptime(9), not time_second(9) Use a monotonic clock for timestamping LUNs to avoid problems when the UTC clock jumps. ok krw@
67462e00 2020-04-14 21:20:47 Enable bse(4). ok patrick@
d3a0e4e9 2020-04-14 21:02:39 Add bse(4), a driver for the Broadcom GENET v5 network interface found on the Raspberry Pi4. ok patrick@
61f70128 2020-04-14 21:00:27 Add BCM54210E support. ok patrick@
673bad01 2020-04-14 20:59:53 Add flags to specify whether internal delays should be configured for RGMII. ok patrick@
3bcc93d0 2020-04-14 20:58:12 regen
b5528b8c 2020-04-14 20:57:22 Add Broadcom BCM54210E. ok patrick@
29527e8b 2020-04-14 20:42:26 Implement acpi_getprop(), the ACPI equivalent of OF_getprop(). ok patrick@
30c4e479 2020-04-14 17:35:28 Fix some of the more esoteric bus_space functions. The bus_space_read_region_n, bus_space_write_region_n and bus_space_set_region_n functions were all broken. Same fix as arm64; Thanks to patrick@ for noting that mips64 had the same code. ok visa@
b0b2c22a 2020-04-14 13:54:21 Fix loop condition in sparc64-specific radeondrm_setcolor() Spotted with clang -Wno-error=uninitialized. ok jsg@
4c4e51f3 2020-04-14 07:38:21 Prevent uninitialized use of bbs and bls in the error path Harmless since free(9) first checks that the pointer is not NULL. ok krw@
20d3e1cb 2020-04-13 21:34:54 Fix some of the more esoteric bus_space functions. The bus_space_read_region_n, bus_space_write_region_n and bus_space_set_region_n functions were all broken. Fixes mvneta(4) on arm64. ok patrick@
f0391771 2020-04-13 18:41:30 Fix a recently introduced iwn(4) problem where the link gets stuck since every CCMP encrypted frame is discarded by the AP as a replay. This happened because of CCMP frames with out of range PNs sent by hardware. It seems iwn firmware doesn't like it if we reset the Tx scheduler slot for a frame which is still within the firmware's block ack window, even if the frame has already been ACKed. So frames now get cleared off the Tx queue only when the block ack window has moved past them, which is good enough and seems to prevent the problem. Problem reproduced and fix tested by both myself and jca@
7b4d0a09 2020-04-12 17:47:25 Turn those spinlock and seqlock inline functions to macros They're macros on Linux because they save state in their flags parameter. Turning them to static inline functions creates a lot of -Wuninitialized warnings, so just use macros which set their flags argument. ok kettenis@
27427a72 2020-04-12 16:15:18 In sosplice(), temporarily release the socket lock before calling FRELE() as the last reference could be dropped which in turn will cause soclose() to be called where the socket lock is unconditionally acquired. Note that this is only a problem for sockets protected by the non-recursive NET_LOCK() right now. ok mpi@ visa@ Reported-by: syzbot+7c805a09545d997b924d@syzkaller.appspotmail.com
3c6c3993 2020-04-12 11:56:52 Stop processing packets under non-exclusive (read) netlock. Prevent concurrency in the socket layer which is not ready for that. Two recent data corruptions in pfsync(4) and the socket layer pointed out that, at least, tun(4) was incorrectly using NET_RUNLOCK(). Until we find a way in software to avoid future mistakes and to make sure that only the softnet thread and some ioctls are safe to use a read version of the lock, put everything back to the exclusive version. ok stsp@, visa@
7d6fad0a 2020-04-12 09:21:19 Add support for the _CCA method. This method indicates whether DMA is cache-coherent or not. To implement this, acpi(4) gets two bus_dma tags and passes the appropriate one when attaching devices based on _CCA. On i386/amd64, where for all practical purpose DMA is always cache-coherent, the two tags are the same. But on arm64 they are distinct. ok patrick@
3e8c8844 2020-04-12 07:20:33 Mention tail queue in comments.
20cac054 2020-04-12 07:04:03 make ifpromisc assert that the caller is holding the NET_LOCK. it needs NET_LOCK because it modifies if_flags and if_pcount. ok visa@
351e2860 2020-04-12 07:02:43 say if_pcount needs NET_LOCK instead of the kernel lock. if_pcount is only touched in ifpromisc(), and ifpromisc() needs NET_LOCK anyway because it also modifies if_flags. suggested by mpi@ ok visa@
422f84d9 2020-04-12 06:59:54 take NET_LOCK in aggr_clone_destroy() before calling aggr_p_dtor() aggr_p_dtor() calls ifpromisc(), and ifpromisc() callers need to be holding NET_LOCK to make changes to if_flags and if_pcount, and before calling the interfaces ioctl to apply the flag change. i found this while reading code with my eyes, and was able to trigger the NET_ASSERT_LOCKED in the vlan_ioctl path. ok visa@
ed1cf189 2020-04-12 06:56:37 take NET_LOCK in tpmr_clone_destroy() before calling tpmr_p_dtor() tpmr_p_dtor() calls ifpromisc(), and ifpromisc() callers need to be holding NET_LOCK to make changes to if_flags and if_pcount, and before calling the interfaces ioctl to apply the flag change. found by hrvoje popovski who was testing tpmr with vlan interfaces. vlan(4) asserts that the net lock is held in it's ioctl path, which started this whole bug hunt. ok visa@ (who came up with a similar diff, which hrvoje tested)
616e219a 2020-04-12 06:48:46 ifpromisc() requires NET_LOCK(), so acquire the lock when changing promiscuous mode from bridge(4). This fixes a regression of r1.332 of sys/net/if_bridge.c. splassert with bridge(4) and vlan(4) reported by David Hill OK mpi@, dlg@
18932c7f 2020-04-11 14:07:06 Add soassertlocked() checks to sbappend() and sbappendaddr(). This brings them in line with sbappendstream() and sbappendrecord(). Agreed by mpi@
df00ec75 2020-04-11 13:47:53 Eliminate an unnecessary intermediate variable in ieee80211_mira_choose(). suggested by jmatthew
9d2cc14c 2020-04-11 13:44:06 Skip MiRA's event-based probing if we're already at the minimum or maximum rate of our current rateset. ok tb@
1f7839ca 2020-04-11 13:43:34 Update MiRA probing interval of probed rates which are worse than the current best rate, not worse than the rate currently being probed. This seems to be a more accurate interpretation of the MiRA paper. The paper says the interval for a rate needs to be updated if the rate's goodput is worse than that of the "current transmission rate" (see the "Adaptive probing interval" section). Our implementation interpreted "current transmission rate" as "rate being probed right now" and adjusted the interval of the previously probed rate. However, the context of this section of the paper suggests that "current transmissions rate" intends to refer to the currently selected best rate for our non-probing transmissions. testing and ok tb@ jmatthew@
248de57f 2020-04-11 11:01:18 Use acpi_getsta(); avoids printing "no _STA method" messages and assumes the device is present instead. ok deraadt@
cce7bd8e 2020-04-11 11:01:03 log() lines need \n too.
de721aa4 2020-04-11 10:56:42 Avoid triggering KASSERT for bogus reason in pfsync_sendout with PFSYNC_DEBUG. ok mpi@
5e128c65 2020-04-11 10:49:27 Grab the exclusive NET_LOCK() in the softnet thread. Prevent a data corruption on a UDP receive socket buffer reported by procter@ who triggered it with wireguard-go. The symptoms are underflow of sb_cc/sb_datacc/sb_mcnt. ok visa@
f0da91f3 2020-04-11 10:23:16 fix build with PFSYNC_DEBUG by switching a format string from %d to %zd
4d149eb4 2020-04-10 22:02:45 Add omcm(4), omclock(4) and omsysc(4) drivers that support the new bus structure that is used in current mainline Linux device trees. ok jsg@
5d2e75f9 2020-04-10 21:25:00 The Raspberry Pi4 (suing UEFI firmware in ACPI mode) uses QWord() resource descriptors. Add support for this. ok deraadt@
d08c4aea 2020-04-10 08:46:21 Typo in comment.
a779fb88 2020-04-10 07:36:52 Place the 64bit key on the stack instead of malloc(9)in' it in pppx_if_find(). Removing a malloc(9) with M_WAITOK reduces possible context switches which helps when dealing with parallelism issues. From Vitaliy Makkoveev.
2877cd17 2020-04-10 07:23:21 Implement stacktrace_save_at() required for upcoming WITNESS. ok gkoehler@
d774fcde 2020-04-09 21:36:50 When I removed CCK fallback from iwm(4) I accidentally left an else-if block in place which should have been deleted entirely. As a result firmware-based retries weren't being used in 11n mode anymore. Fix this. I really shouldn't be committing non-trivial changes without OK...
a41d2ed2 2020-04-09 09:25:50 Assign and enable clocks; RK3328 has them.
3dd77820 2020-04-09 07:20:08 Fix an automatic Tx rate control issue in iwn(4). Same change as made for iwm(4) and iwx(4), but also accounts for block ack. Avoids Tx results being reported and evaluated even if they did not correspond to the most recently chosen rate, spoiling the data available to the rate control algorithm. tested by benno, jmc, and krw; no regressions seen
4d55a102 2020-04-08 21:32:27 Add RK3328 Crypto/RNG clocks.
7dd3f745 2020-04-08 11:30:48 Add glass console support. ok patrick@, jsg@
5dc98519 2020-04-08 10:54:15 Set correct pixel format. Fix limits on number of characters in the rasops_init() call. ok patrick@, jsg@
c700b3c9 2020-04-08 09:49:32 Bump size of the buffer we use to fetch device tree properties. The ethernet aliase paths in the new omap device trees are longer than 64 characters. Fixes the MAC address on Pandaboard-ES with the new device tree. ok jsg@
c72ef016 2020-04-08 09:34:29 Fix ifconfig "media:" line for 11n wifi interfaces during and after bgscan. Media was displayed as e.g. "autoselect (OFDM6)" even though 11n was active because the current media mode is changed to AUTO for background scanning and was never switched back to 11N. ok mpi@ pirofti@
f7744361 2020-04-08 08:07:51 Make fifo_kqfilter() honor FREAD|FWRITE just like fifo_poll() does. Prevent generating events that do not correspond to how the fifo has been opened. ok visa@, millert@
c35e1d21 2020-04-08 08:01:52 Pass correct socket to the write kqueue filter. Make EVFILT_WRITE notifications on fifo work. ok visa@, millert@
83422d52 2020-04-08 07:39:48 vmm(4): add IOCTL handler to sets the access protections of the ept This exposes VMM_IOC_MPROTECT_EPT which can be used by vmd to lock in physical pages. Currently, vmd just terminates the vm in case it gets a protection fault in the future. This feature is used by solo5 which uses vmm(4) as a backend hypervisor. ok mpi@ Patch from Adam Steen <adam@adamsteen.com.au>
446b7a28 2020-04-08 07:32:56 vmm(4): handle cr0 writes more correctly for vmx * Switch to using vcpu->vc_vmx_cr0_fixed[1|0] to check must be 0|1 bits, rather than the cpu capabilities. * Add the checks on the new values as per the SDM 2.5 CONTROL REGISTERS. 2.1 Bits 63:32 of CR0 and CR4 are reserved and must be written with zeros. Writing a nonzero value to any of the upper 32 bits results in a general-protection exception, #GP(0). 2.2 setting the PG flag when the PE flag is clear causes a general-protection exception (#GP). 11.5.1 Cache Control Registers and Bits, Table 11-5. Cache Operating Modes 2.3 CD: 0, NW: 1, Invalid setting. Generates a general-protection exception (#GP) with an error code of 0. *. Don't alway assume, if the guest is not disabling paging, they are enabling it, check the guest is actually enabling paging. also only read cr4 when we actually need it, not right at the start. ok mpi@ Patch from Adam Steen <adam@adamsteen.com.au>
191ac81f 2020-04-07 15:23:42 Claim framebuffer that was configured by bootloader. ok patrick@
9c969c9a 2020-04-07 13:27:50 Abstract the head of knote lists. This allows extending the lists, for example, with locking assertions. OK mpi@, anton@
c43697b9 2020-04-07 12:52:27 Defer selwakeup() from kqueue_wakeup() to kqueue_task() to prevent deep recursion. This also helps making kqueue_wakeup() free of the kernel lock because the current implementation of selwakeup() requires the lock. OK mpi@
a3f60586 2020-04-07 10:11:01 Kill board_id variable; its last consumer is gone now. ok jsg@
bffd6d37 2020-04-07 09:32:44 Kill unused extern declaration.
68795409 2020-04-07 09:09:46 Use PHY framework to replace hardcoded board-specific GPIO poking. ok jsg@
4c45b354 2020-04-07 09:08:15 Implement support for "usb-nop-xceiv" PHYs. ok jsg@
565062e8 2020-04-07 09:06:52 Fix off-by-one in check for valid pin numbers and use the existing #define in the check.
151cbcc7 2020-04-07 09:04:34 Remove entry that is no longer needed. ok jsg@
b01d9f42 2020-04-07 08:23:54 Implement a SMR TAILQ implementation. The only operations which can be used in SMR read-side critical sections are SMR_TAILQ_FOREACH(), SMR_TAILQ_FIRST() and SMR_TAILQ_NEXT(). Most notably the last element can not be accessed in a read-side critical section. OK visa@
972a3eac 2020-04-07 07:11:22 Deny to create a pipex session if the session id already exists. From Vitaliy Makkoveev OK yasuoka@
2f25d447 2020-04-07 07:09:47 Remove superfluous NULL check from allocation with PR_WAITOK. From Vitaliy Makkoveev
1fa3f0a0 2020-04-06 23:16:50 acpi(4): acpi_sleep(): tsleep(9) -> tsleep_nsec(9) kettenis@ notes that ACPI integers are supposed to be unsigned, but ours are signed. This is a much deeper problem than what I'm looking to change with this conversion. To work around the issue for now we can round the sleep interval up to 1 millisecond. There is a very nasty-looking rwsleep(9) call elsewhere in dev/acpi/dsdt.c that I'm going to leave as-is for now to avoid breaking something. With input from pirofti@, kettenis@, and mortimer@. Tested by Lucas Raab, Moises Simon, mortimer@, and gkoehler@. ok kettenis@
5e04d77b 2020-04-06 19:45:47 wi(4): tsleep(9) -> tsleep_nsec(9); ok stsp@
f0cdf84b 2020-04-06 19:03:09 sunkbd(4): timeout_add(9) -> timeout_add_msec(9); ok kettenis@
aff96eed 2020-04-06 17:54:50 pcppi(4), spkr(4): ticks -> milliseconds In pcppi(4), convert from ticks to milliseconds. While we're doing this, we can also convert spkr(4), too. The spkr(4) conversion from ticks to milliseconds is trickier because the driver is written with musical intervals (whole notes, quarter notes, etc.), not the typical units (seconds, milliseconds, etc.) used in most software. I think the conversion is correct... but the code is a challenging read, so it might be subtly incorrect. ratchov@ intends to move spkr(4) into the attic sometime soon so I doubt it matters much if I got it wrong. Input from schwarze@, jsg@, and ratchov@. Tested by schwarze@. ok ratchov@
c15c02b3 2020-04-06 16:29:53 Remove redundant VOP_CLOSE() and vput(). The fail branch will close the vnode because `open' is true. OK deraadt@, anton@
dd2412fc 2020-04-06 16:23:44 Build bootecoff with divdi3.c. bootecoff needs __divdi3, but the linker does not complain about missing symbols. Prompted by miod@
a672ee3d 2020-04-06 13:14:04 use LIST_FOERACH_SAFE() instead of manual rolling the loop. From Vitaliy Makkoveev
1700f686 2020-04-06 13:03:02 Add support for the cd-gpios property. ok jsg@
677f6aae 2020-04-06 13:01:36 Register controller with the gpio "framework". ok jsg@
b9b0ec53 2020-04-06 12:31:30 Pass struct pipex_iface_context pointer down to pipex ioctl functions. This way pppx(4) and pppac(4) can be further unified. This is an intermediary step that does not introduce any behaviour change. From Vitaliy Makkoveev
146c6cac 2020-04-06 11:27:23 fix previous: use the correct offset for sq/rq creation, and don't reset the mbox counter to 0 after calculating it.
3f972691 2020-04-06 08:31:04 Make it possible to use ix(4) with MSI-X, currently disabled by default. The current implementation still uses a single queue but already establishes a different handler for link interrupts. This is done in preparation for multi-queues support. The performance and i386 regression exposed by the last version of this diff have been fixed thanks to the help of Hrvoje Popovski. Based on a bigger diff from haesbaert@ and on the FreeBSD code. Tested by Sigi Rudzio, Hrvoje Popovski and jmatthew@, ok jmatthew@
23ecbd0a 2020-04-06 07:52:12 Fix single thread behaviour in sleep_setup_signal(). If a thread needs to suspend (SINGLE_SUSPEND or SINGLE_PTRACE) it needs to do this in sleep_setup_signal(). This way the case where single_thread_clear() is called before the sleep gets its wakeup call can be correctly handled and the thread is put back to sleep in sleep_finish(). If the wakeup happens before unsuspend then p_wchan is 0 and the thread will not go to sleep again. In case of a unwind an error is returned causing the thread to return immediatly with that error. With and OK mpi@ kettenis@
59fcf85e 2020-04-06 02:44:31 futex(2): FUTEX_WAIT: rwsleep_nsec(9) at least one nanosecond mpi@ and I added a warning log to *sleep_nsec(9) last year to smoke out division-to-zero bugs when converting kernel code from *sleep(9) to the new interfaces. It whines if you tell it to sleep for zero nanoseconds. Now that rwsleep_nsec(9) is exposed to userspace via futex(2), though, it is possible to get a legitimate zero-nanosecond timeout from the user. This can cause a lot of logging, which apparently can cause hiccups and hangs in Mesa. As a quick fix we can round the timeout up to one nanosecond and silence the warning. No logs, no delays, no hiccups or hangs. -- Aside: it is unclear what we are supposed to do in the FUTEX_WAIT zero-nanosecond timeout case: block for a tick or return ETIMEDOUT immediately. The Linux futex(2) manpage does not mention the case. It'd be nice to knew what the proper behavior is. -- Prompted by matthieu@. Input from kettenis@ and deraadt@. Tested by matthieu@, ajacoutot@. In snaps since Mar 27 2020. ok ajacoutot@, deraadt@, kettenis@.
ef35d3e7 2020-04-06 02:10:33 Enable FFS2 in sgi bootblocks and ramdisks. Tested with boot64 on IP30. State of boot32 and bootecoff is unknown. OK otto@, deraadt@
64790079 2020-04-06 01:28:58 Add a helper function for writing physical addresses for queues into command queue mailboxes, and use this for all queue setup commands. Previously we just assumed the addresses would fit in the first mailbox, which is currently true but may not be for much longer. ok dlg@
8855e28c 2020-04-06 00:01:08 Update my email address.
ae1367d5 2020-04-05 14:02:29 Use OF_is_compatible() to simplify the initialization for the "mdio" node. Add code to enable the clock which is present in new device trees. ok jsg@
59b39244 2020-04-05 13:11:13 Add omrng(4), a driver for te random number generator found on TI OMAP SoCs. ok jsg@