- 23 Sep, 2021 14 commits
-
-
Randall Stewart authored
In extensive testing in NF we have found two issues inside the rack stack. 1) An incorrect offset is being generated by the fast send path when a fast send is initiated on the end of the socket buffer and before the fast send runs, the sb_compress macro adds data to the trailing socket. This fools the fast send code into thinking the sb offset changed and it miscalculates a "updated offset". It should only do that when the mbuf in question got smaller.. i.e. an ack was processed. This can lead to a panic deref'ing a NULL mbuf if that packet is ever retransmitted. At the best case it leads to invalid data being sent to the client which usually terminates the connection. The fix is to have the proper logic (that is in the rsm fast path) to make sure we only update the offset when the mbuf shrinks. 2) The other issue is more bothersome. The timestamp check in rack needs to use the msec timestamp when comparing the timestamp echo to now. It was using a microsecond timestamp which ends up giving error prone results but causes only small harm in trying to identify which send to use in RTT calculations if its a retransmit. Reviewed by: tuexen Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D32062
-
Ed Maste authored
PR: 248628 Reported by: oleg Reviewed by: cem, oleg (both earlier) Fixes: ee97b233 ("Speed up vt(4) by keeping...") MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D32059
-
Michael Tuexen authored
No functional change intended. MFC after: 1 week
-
Arnaud Ysmal authored
The error returned when a marker message can not be emitted on a port is not handled. This cause the lacp to block all emissions until the timeout of 3 seconds is reached. To fix this issue, I just clear the LACP_PORT_MARK flag when the packet could not be emitted. Differential revision: https://reviews.freebsd.org/D30467 Obtained from: Stormshield
-
Stephane Rochoy authored
Calling veriexec -i locked return the state of loaded and vice-versa. Differential revision: https://reviews.freebsd.org/D30952 Reviewed by: sjg,imp Obtained from: Stromshield
-
Stephane Rochoy authored
Add -o verify to sh to make it use O_VERIFY when sourcing scripts and reading profiles. Useful in conjunction with mac_veriexec to help protect at least some parts of the boot sequence, e.g., /etc/rc*. Differential revision: https://reviews.freebsd.org/D30464 Reviewed by: jilles, sjg Obtained from: Stormshield
-
Hans Petter Selasky authored
Submitted by: gljennjohn@gmail.com Differential Revision: https://reviews.freebsd.org/D31636 Sponsored by: NVIDIA Networking
-
Kyle Evans authored
Previously, we were collecting at a base rate of: 64 bits x 32 pools x 10 Hz = 2.5 kB/s This change drops it to closer to 64-ish bits per pool per second, to work a little better with entropy providers in virtualized environments without compromising the security goals of Fortuna. Reviewed by: #csprng (cem, delphij, markm) Differential Revision: https://reviews.freebsd.org/D32021
-
Kyle Evans authored
Refer to discussion in PR 230808 for a less incomplete discussion, but the gist of this change is that we currently collect orders of magnitude more entropy than we need. The excess comes from bytes being read out of /dev/*random. The default rate at which we collect entropy without the read_rate increase is already more than we need to recover from a compromise of an internal state. Reviewed by: #csprng (cem, delphij, markm) Differential Revision: https://reviews.freebsd.org/D32021
-
Wojciech Macek authored
Differential revision: https://reviews.freebsd.org/D32025 Avoid using atomics as it_wait is guarded by td_lock. Report threshold calculation is done only if at least one PMC hook is installed Fixes: * avoid unnecessary branching (if frame != null ...) by having PMC_HOOK_INSTALLED_ANY condition on the top of them, which should hint the core not to execute speculatively anything which us underneath; * access intr_hwpmc_waiting_report_threshold cacheline only if at least one hook is loaded;
-
Wojciech Macek authored
Obtained from: Semihalf Sponsored by: Stormshield Reviewed by: mhorne Differential revision: https://reviews.freebsd.org/D32055
-
Baptiste Daroussin authored
-
Konstantin Belousov authored
There sig_atomic_t is shorter than void *. As result, it cannot keep pointer. Assigning to void * is actually safe for us in a signal handler. Reviewed by: asomers Sponsored by: The FreeBSD Foundation MFC after: 1 week Fixes: 4f917847 Differential revision: https://reviews.freebsd.org/D32064
-
John Baldwin authored
Fixes: cf0ee873 Drop cloudabi
-
- 22 Sep, 2021 23 commits
-
-
Olivier Houchard authored
Mostly revert ebbc3140. We don't need to special-case anything for arm64, the check for the pointer size is already done for us, just keep the bits about having arm and arm64 having to add padding for 32bits binaries. MFC after: 1 week
-
Kirk McKusick authored
When fsck_ffs is running in preen mode and finds a zero-length directory, it deletes that directory. In doing this operation, it unnecessary set its internal flag saying that fsck_ffs needed to be rerun. This patch deletes the rerun request for this case. Reported by: Mark Johnson PR: 246962 MFC after: 1 week Sponsored by: Netflix
-
Olivier Houchard authored
When decoding 32bits arm syscall, make sure we account for the padding when decoding 64bits args. Do it too when using a 64bits truss on a 32bits binary. MFC After: 1 week PR: 256199
-
Olivier Houchard authored
Add aarch64 to the list of architectures that can run 32bits FreeBSD binaries, so that truss works correctly with an arm32 binary. The same should probably be done with mips. MFC After: 1 week
-
Piotr Pawel Stefaniak authored
If an attempt to load history from an existing history file was unsuccessful, do not try to save command history to that file on exit.
-
Piotr Pawel Stefaniak authored
When there are many matches, find the longest common substring starting from the beginning of each command and use that to replace input. As an example: on my system, llv<tab> will be autocompleted to llvm- and another <tab> will print all matching llvm commands.
-
Konstantin Belousov authored
This reverts commit 0f682948. Also it changes the type of md_usr_fpu_save struct mdthread member to void *, which is what uncovered this trouble. Now the save area is untyped, but since it is hidden behind accessors, it is not too significant. Since apparently there are consumers affected outside the tree, this hack is better than one from the reverted revision. PR: 258678 Reported by: cy Reviewed by: cy, kevans, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D32060
-
Hans Petter Selasky authored
Submitted by: christos@ Differential Revision: https://reviews.freebsd.org/D31636 Sponsored by: NVIDIA Networking
-
Hans Petter Selasky authored
- Use correct e-mail address. - Set FreeBSD 14.0 as introduction for the updated mixer(8) utility. Submitted by: christos@ Differential Revision: https://reviews.freebsd.org/D31636 Sponsored by: NVIDIA Networking
-
Hans Petter Selasky authored
Differential Revision: https://reviews.freebsd.org/D31636 Sponsored by: NVIDIA Networking
-
Hans Petter Selasky authored
Differential Revision: https://reviews.freebsd.org/D31636 Sponsored by: NVIDIA Networking
-
Hans Petter Selasky authored
Wiki article: https://wiki.freebsd.org/SummerOfCode2021Projects/SoundMixerImprovements This project was part of Google Summer of Code 2021. Submitted by: christos@ Differential Revision: https://reviews.freebsd.org/D31636 Sponsored by: NVIDIA Networking
-
Alexander Motin authored
It should silently succeed if the current unit number is the same as requested, not fail immediately. MFC after: 1 week
-
Stefan Eßer authored
The sponge command has been imported on 2017-12-05 but the import has been reverted the next day. A script failed and I found that it was due to the left-over broken sponge binary in base being prefered over the port version. To prevent a known non-working binary to persist in /usr/bin, I'm adding sponge to the obsolete files list even though it could only be installed on a single day in 2017. I do not plan to MFC this change since the issue will only exist on systems installed from -CURRENT sources in 2017, and I do assume that such systems are not running -STABLE today
-
Baptiste Daroussin authored
-
Baptiste Daroussin authored
-
Piotr Pawel Stefaniak authored
Until this change, any bindings set in histedit() were lost on calls to bindcmd(). Only bind -e and bind -v call libedit's keymacro_reset(). Currently you cannot fool libedit/map.c:map_bind() by trying something like bind -le as when p[0] == '-', it does a switch statement on p[1].
-
Baptiste Daroussin authored
-
Baptiste Daroussin authored
-
Baptiste Daroussin authored
-
Baptiste Daroussin authored
-
Baptiste Daroussin authored
-
Alexander Motin authored
MFC after: 1 month
-
- 21 Sep, 2021 3 commits
-
-
Alexander Motin authored
Before this change long-term load balancer was unable to migrate running threads, only ones waiting on run queues. But with growing number of CPU cores it is quite typical now for system to not have many waiting threads. But same time if due to some coincidence two long-running CPU-bound threads ended up sharing same physical CPU core, they could suffer from the SMT penalty indefinitely, and the load balancer couldn't help. Improve that by teaching the load balancer to hint running threads to migrate by marking them with TDF_NEEDRESCHED and new TDF_PICKCPU flag, making sched_pickcpu() to search for better CPU later, when it is convenient. Fix CPU search logic when balancing to limit round-robin migrations in case of almost equal load to the group of physical cores. The previous code bounced threads across all the system, that should be pretty bad for caches and NUMA affinity, while additional fairness was almost invisible, diminishing with number of cores in the group. MFC after: 1 month
-
Olivier Houchard authored
In cpu_set_upcall(), if the thread startup routine is a thumb routine, make sure to set PSR_T, so that the CPU will run in thumb mode. MFC After: 1 week
-
Olivier Houchard authored
In cpu_set_upcall(), if the thread startup routine is a thumb routine, make sure to set PSR_T, so that the CPU will run in thumb mode. MFC After: 1 week
-